• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. 簡單的驅動makefile詳解

        時間:2024-11-04 20:03:02 Linux認證 我要投稿
        • 相關推薦

        簡單的驅動makefile詳解

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

          Linux 2.6 (PC)簡單驅動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 內核頂層目錄Makefile的一個變量。

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

          內核源碼樹目錄。

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

          編譯完成,產生.KO文件

          Linux 2.6 (ARM)簡單驅動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 指定開發板內核所在目錄。

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

          其它項目與PC機的一樣。

          驅動模塊編譯進內核

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【簡單的驅動makefile詳解】相關文章:

        最簡單的Linux驅動程序09-09

        javascript 單例模式詳解及簡單實例08-17

        顯卡驅動怎么更新09-20

        as用法詳解07-21

        that用法詳解09-01

        xp系統安裝mtp驅動06-15

        顯示器的驅動故障10-25

        電腦怎樣安裝聲卡驅動10-13

        古琴指法詳解05-26

        眼神禮儀的詳解08-07

        在线咨询
        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 日本精品第一视频在线 | 外国一级AⅤ在线观看 | 午夜福利啪爽国产片精品 | 日本中文字幕一区 | 亚洲九九影院在线 | 在线视频亚洲一线 |

            簡單的驅動makefile詳解

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

              Linux 2.6 (PC)簡單驅動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 內核頂層目錄Makefile的一個變量。

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

              內核源碼樹目錄。

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

              編譯完成,產生.KO文件

              Linux 2.6 (ARM)簡單驅動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 指定開發板內核所在目錄。

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

              其它項目與PC機的一樣。

              驅動模塊編譯進內核