想要对代码的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