如何在我的项目中使用像CONFIG_ *配置这样的Linux?

时间:2017-02-18 18:42:43

标签: c linux gcc makefile autotools

我目前正在用C语言编写一个基本的队列模拟器程序。

来源:https://github.com/iamsubhranil/DataStructure_C/tree/libqueue

我使用模块化方法编写了一个名为libqueue的库(queue_library.c,queue_interface.h中的头文件),并使用queue_ll.c在其上面绘制了用户界面。

我已经使用对话框进行了类似配置的menuconfig,它将根据用户选择的配置重新编译库(它现在不会):例如,如果用户想要使用只有优先级队列的功能,才会重新编译库,只包含优先级队列等功能。

我已经为Android设备交叉编译了linux内核并且看到了

的快速使用
make (codename)_defconfig
make -j(THREADS)

我想使用受Linux内核启发的以下方法:

#ifdef CONFIG_QUEUE_PRIORITY
priorityfunc1();
................
#endif

我正在学习使用autotools,但无法找到触发make使用我的配置文件并将其转换为#define宏的过程,如下所示:

make myconfig
make all

显然,myconfig应该有三个选项:

CONFIG_LINEAR_QUEUE=y
# Based on user selection
CONFIG_QUEUE_DEQUE=y
# Based on user selection
CONFIG_QUEUE_PRIORITY=y

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

使用自动工具无法实现您想要做的事情,因为autoconf有自己的基于./configureAC_CONFIG宏的定义处理。