亚洲AV日韩AⅤ综合手机在线观看,激情婷婷久久综合色,欧美色五月婷婷久久,久久国产精品99久久人人澡

  • <abbr id="uk6uq"><abbr id="uk6uq"></abbr></abbr>
  • <tbody id="uk6uq"></tbody>
  • 簡單的驅(qū)動makefile詳解

    時間:2024-11-04 20:03:02 Linux認(rèn)證 我要投稿
    • 相關(guān)推薦

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

      一個工程中的源文件不計數(shù),其按類型、功能、模塊分別放在若干個目錄中,makefile定義了一系列的規(guī)則來指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至于進(jìn)行更復(fù)雜的功能操作,因?yàn)?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,然后到當(dāng)前模塊的目錄里面,M=$(PWD) 進(jìn)入該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- 指定編譯器。

      其它項(xiàng)目與PC機(jī)的一樣。

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

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

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

    javascript 單例模式詳解及簡單實(shí)例08-17

    顯卡驅(qū)動怎么更新09-20

    as用法詳解07-21

    that用法詳解09-01

    xp系統(tǒng)安裝mtp驅(qū)動06-15

    顯示器的驅(qū)動故障10-25

    電腦怎樣安裝聲卡驅(qū)動10-13

    古琴指法詳解05-26

    眼神禮儀的詳解08-07