Linux 驱动Makefile

来源:互联网 发布:电脑网络机柜 编辑:程序博客网 时间:2024/06/09 16:56

环境变量等可以放在makefile.config配置文件中

#ifeq ($(CROSS_TOOLCHAIN_PREFIX),)
#include  ../makefile.config
#endif

也可直接定义

KERNELDIR=

CROSS_TOOLCHAIN_PREFIX=

 

ifeq ($(KERNELRELEASE),)
PWD := $(shell pwd)
CFLAGS +=-fno-common
modules:
 $(MAKE) CFLAGS+=-DDEBUG ARCH=powerpc CROSS_COMPILE=$(CROSS_TOOLCHAIN_PREFIX) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
 $(MAKE) CFLAGS+=-DDEBUG ARCH=powerpc CROSS_COMPILE=$(CROSS_TOOLCHAIN_PREFIX) -C $(KERNELDIR) M=$(PWD) modules_install
clean:
 rm -rf modules.* *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions Module*

.PHONY:modules modules_install clean
else
      obj-m :=driver.o
endif

如果一个模块包含多个.c文件,(如file1.c   file2.c),应该以如下方式编写Makefile

        obj-m := modulename.o

        modulename-objs := file1.o file2.o