在我的源代码中访问CONFIG_宏

时间:2012-10-18 13:55:49

标签: buildroot

我正在使用buildroot创建一个Linux内核模块来执行交叉编译。我创建了一个Config.in文件来创建一些可选位,如下所示:

config BR2_PACKAGE_MYPACKAGE_OPTION1
    bool "Option 1"

在我的源代码中,我会:

#ifdef CONFIG_BR2_PACKAGE_MYPACKAGE_OPTION1
#error Testing if symbol defined 
#endif

这不起作用,在从menuconfig检查选项时,编译时未定义符号。该符号确实出现在顶级.config文件中。

我猜测mypackage.mk可以访问该符号,但确实如此。我已经尝试将这些添加到.mk文件中,但是虽然TARGET_CFLAGS和EXTRA_CFLAGS都被语句更改(使用@echo命令确认),但它们不会传递给编译器。

ifeq ($(BR2_PACKAGE_MYPACKAGE_OPTION1),y)
    TARGET_CFLAGS += -DCONFIG_BR2_PACKAGE_MYPACKAGE_OPTION1
endif

ifeq ($(BR2_PACKAGE_MYPACKAGE_OPTION1),y)
    EXTRA_CFLAGS += -DCONFIG_BR2_PACKAGE_MYPACKAGE_OPTION1
endif

如何访问源代码中的配置符号?

1 个答案:

答案 0 :(得分:0)

我找到了一个可能的答案:

将您感兴趣的那些传递给mypackage.mk文件中的$(MAKE)调用,然后将它们传递给包Makefile / Kbuild文件中的编译器。