编译动态modules ko的makefile

来源:互联网 发布:java正则表达式 可选 编辑:程序博客网 时间:2024/04/30 13:11

对于一些比较特殊的外设,并不是所有的产品全部有该外设,公司有时采用单独编译ko的方法,然后通过启动时的脚本,加载ko,以方便对该模块的快速调试。


这里主要列出makefile的基本格式:

fneq ($(KERNELRELEASE),)
obj-m := module.omodule-y += file1.o\
<span style="white-space:pre"></span>    file2.oelsePWD := $(shell pwd)ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
# 交叉编译器的路径,由于已经配置成环境变量#CROSS_COMPILE=arm-eabi-KERNELDIR ?= ../kernel-src
#指向内核的路径MAKEARGS := ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE)DBG_CFLAGS="-g -DDEBUG -w"EXTRA_CFLAGS="-w".PHONY : debug cleandefault:$(MAKE) $(MAKEARGS) EXTRA_CFLAGS=$(EXTRA_CFLAGS) -C $(PWD)/../$(KERNELDIR) M=$(PWD) LDDINCDIR=$(PWD)/ modulesdebug:$(MAKE) $(MAKEARGS) EXTRA_CFLAGS=$(DBG_CFLAGS)$(EXTRA_CFLAGS) -C $(PWD)/../$(KERNELDIR) M=$(PWD) LDDINCDIR=$(PWD)/ modulesclean:$(MAKE) $(MAKEARGS) -C $(PWD)/../$(KERNELDIR) M=$(PWD) LDDINCDIR=$(PWD)/ cleanendif

0 0