1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 簡單的驅(qū)動makefile詳解

        時間:2020-10-11 12:25:21 Linux認證 我要投稿

        簡單的驅(qū)動makefile詳解

          一個工程中的源文件不計數(shù),其按類型、功能、模塊分別放在若干個目錄中,makefile定義了一系列的規(guī)則來指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至于進行更復雜的.功能操作,因為 makefile就像一個Shell腳本一樣,其中也可以執(zhí)行操作系統(tǒng)的命令。

          Linux 2.6 (PC)簡單驅(qū)動Makefile詳解

          ifneq ($(KERNELRELEASE),)

          module-objs := book.o

          obj-m := book.o

          else

          KERNELDIR ?= /lib/modules/$(shell uname -r)/build

          PWD := $(shell pwd)

          modules:

          $(MAKE) -C $(KERNELDIR) M=$(PWD) modules

          endif

          clean:

          rm -rf *.o *~core.depend.*.cmd *.ko *.mod.c.tmp versions

          KERNELRELEASE 內(nèi)核頂層目錄Makefile的一個變量。

          KERNELDIR ?= /lib/modules/$(shell uname -r)/build

          內(nèi)核源碼樹目錄。

          該Makefile 共讀取兩次,在輸入Makefile時,$(KERNELDIR) 第一次讀取KERNELRELEASE并沒有被定義,然后就開始讀取內(nèi)核源碼的目錄,開始定義KERNELRELEASE,然后到當前模塊的目錄里面,M=$(PWD) 進入該Makefile時KERNELRELEAS已經(jīng)被定義了,讀取要編譯的模塊,然后再返回到modules

          編譯完成,產(chǎn)生.KO文件

          Linux 2.6 (ARM)簡單驅(qū)動Makefile詳解

          ifneq ($(KERNELRELEASE),)

          obj-m := fgpio011.o

          else

          KDIR := /home/linux-2.6.30/

          all:

          make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux-

          clean:

          rm -f *.ko *.o *.mod.o *.mod.c *.symvers

          endif

          注釋:

          KDIR := /home/linux-2.6.30/

          KDIR 指定開發(fā)板內(nèi)核所在目錄。

          CROSS_COMPILE=arm-linux- 指定編譯器。

          其它項目與PC機的一樣。

          驅(qū)動模塊編譯進內(nèi)核

        【簡單的驅(qū)動makefile詳解】相關(guān)文章:

        最簡單的Linux驅(qū)動程序11-04

        雞蛋布丁的簡單做法詳解01-03

        javascript 單例模式詳解及簡單實例11-12

        企業(yè)戰(zhàn)略并購的驅(qū)動12-05

        企業(yè)創(chuàng)新的驅(qū)動力12-24

        GMAT考試的詳解05-21

        眼神禮儀的詳解01-03

        眼神禮儀的詳解01-03

        通過社群運營的方式驅(qū)動核心運營06-26

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>