linux内核模块之Makefile模板

来源:互联网 发布:电影人工智能观后感 编辑:程序博客网 时间:2024/05/20 16:45
#这种指定objs的写法,其中模块名与实际objs中的文件名不能相同,否则会出现编译时报循环依赖的警告MODULE_NAME := mhello      #模块名,最终编译得到mhello.koMODULE_OBJS := extern.o hello.o #依赖文件$(MODULE_NAME)-objs := $(MODULE_OBJS)ifneq ($(KERNELRELEASE),)obj-m := $(MODULE_NAME).oelsePWD :=$(shell pwd)#交叉编译,指定内核目录,编译时make要带上ARCH与CROSS_COMPILE,如make ARCH=arm CROSS_COMPILE=arm-linux-#KDIR := /home/linux-3.2.0-psp04.06.00.11-m3352#编译主机模块KDIR := /lib/modules/$(shell uname -r)/build#KVER = 3.2.0 #这句不加也可以all:    $(MAKE) -C $(KDIR) M=$(PWD) modulesclean:    rm -rf *.cmd *.o *.mod.c *.ko .tmp_versions modules.order  Module.symversendif