ccflags-y += -D__CCFLAGS_TEST__ __CCFLAGS_TEST__:=1export __CCFLAGS_TEST__//导出了__CCFLAGS_TEST__宏,使得在 Makefile 中定义的宏可以在子进程中使用 通过以上的代码,编译过程中会将 __CCFLAGS_TEST__宏定义为1,从而在代码中可以根据这个宏的取值进行条件编译,实现不同的编译选项和行为。 ccflags...
这两个编译选项与ccflags-y和asflags-y效果是一致的,只是添加了subdir-前缀,意味着这两个编译选项对本目录和所有的子目录都有效。 CFLAGS_$@, AFLAGS_$@ 使用CFLAGS_或者AFLAGS_前缀描述的模块可以为模块的编译单独提供参数,举个例子: CFLAGS_foo.o = -DAUTOCONF 在编译foo.o时,添加了-DAUTOCONF编译选项。
ccflags-y := -DVERBOSE_DEBUG opps-objs :=oops_test.o obj-make := opps.o KBUILD_CFLAGS +=-g CC = gcc CCFLAGS = -D_DEBUG -g -m486 test.o: test.c test.h $(CC) -c $(CCFLAGS) test.c 在上面的例子中,CC和 CCFLAGS 就是 make 的变量。GNU make通常称之为变量,而其他 UNIX 的 ma...
ifneq ($(CONFIG_MTK_CCCI_DEVICES),y) ccflags-y += -D__USING_DUMMY_CCCI_API__ endif 1. 2. 3. 如果CONFIG_MTK_CCCI_DEVICES定义成y,则下面的语句起作用。去掉-D,类似定义了__USING_DUMMY_CCCI_API__这个宏,在C代码中,用#ifdef __USING_DUMMY_CCCI_API__来使用。 (11)include -include Make...
2.3.1 ccflags-y、asflags-y、ldflags-y 这三个变量只在当前Makefile中有效。补充:$(KBUILD_CFLAGS)是定义在根目录Makefile中的变量,它适用于整个内核数。 2.3.2 subdir-ccflags-y、subdir-asflags-y 这两个变量作用于当前Makefile及其所有子目录。
并行的写法:如果你的mpich安装在D:\cygwin\mpi下 # System-specific settings CC = g++ CCFLAGS = -O -g -I/cygdrive/d/cygwin/fftw/include -I/cygdrive/d/cygwin/mpi/include -DFFT_FFTW \ -DMPICH_IGNORE_CXX_SEEK DEPFLAGS = -M LINK = g++ LINKFLAGS = -O -g -L/cygdrive/d/cygwin/fftw/...
这个makefile的作⽤就是编译hello.c⽂件,最终⽣成hello.ko⽂件。obj-m+=hello.o obj-m表⽰编译⽣成可加载模块。相对应的,obj-y表⽰直接将模块编译进内核。可以看到,这⾥并没有输⼊hello.c源⽂件,熟悉makefile的⼈应该知道,这得益于makefile的⾃动推导功能,需要编译⽣成filename.o...
2.2 lib-y和lib-m 在一个目录下,obj-y所列出的文件,将被编译成built-in.o文件,而lib-y或lib-m所列出的文件,将在当前目录下生成lib.a文件。 注意:一般lib-y或lib-m只用在lib/和arch/*/lib这两个目录中。 2.3编译选项变量 2.3.1 ccflags-y、asflags-y、ldflags-y ...
296297CCFLAGS-Y指定的选项进行编译$(CC) 298299例: 300#驱动器/ ACPI / Makefile文件 301CCFLAGS-Y =-O的 302CCFLAGS美元(CONFIG_ACPI_DEBUG)+ =-DACPI_DEBUG_OUTPUT 303304这个变量是必要的,因为顶层Makefile拥有 305变量$(KBUILD_CFLAGS),并用它的306整个树的编译选项 ...
MY_CFLAGS += -g -DDEBUG ccflags-y += ${MY_CFLAGS} SRC := $(shell pwd) all: $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install: $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install clean: rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c ...