内核驱动添加调试宏开关

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


版权声明:本文为qing_ping原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。