想要对代码的debug部分做隔离或条件编译可以给EXTRA_CFLAGS增加-D选项。EXTRA_CFLAGS是MAKE命令默认参数。不需要显示添加在编译命令中
ifneq ($(KERNELRELEASE),)
obj-m := my.o
my-objs := my.o
EXTRA_CFLAGS += -I./
EXTRA_CFLAGS += -DDEBUG_SWITCH
else
PWD := $(shell pwd)
KDIR := /lib/modules/$(shell uname -r)/build/
EXTRA_CFLAGS += -DDEBUG_SWITCH
all:
$(MAKE) -C $(KDIR) M=$(PWD) \
modules
clean:
rm -rf .*.cmd .*.o.d *.o *.mod.c *.ko .tmp_versions modules.* Module.*
endif
用户态编译也可以添加-D来实现这个功能
CFLAGS_object.o += -DMACRO_NAME