分类: 嵌入式
2014-09-09 01:46:15
原文地址:makefile模块编译模板 作者:jerry20000
Makefile模板为:
解析:
ifneq ($(KERNELRELEASE), ) //判断KERNELRELEASE是否定义,KERNELRELEASE是在linux内核源码中主 Makefile中定义的
obj-m := memdev.o //编译生成目标文件
else //若KERNELRELEASE没有否定义
KDIR := /home/study/4-3-1/linux-2.6.29
// KDIR是本Makefile 依赖的linux内核源码路径 ,如是交叉编译时就取开发板上运行的源码路径
make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux-
M=$(PWD) //取当前的路径
ARCH=arm //编译在ARM平台上运行的程序
CROSS_COMPILE=arm-linux- //使用交叉编译工具对其进行编译
//到linux源码所在的目录执行主Makefile 并当前路径传给主Makefile,告诉主Makefile执行完后返回到当前目录,执行Makefile,
endif