所以我正在构建一个非常类似于linux内核Kconfig工作的makefile系统。
也就是用户输入"make menuconfig",它会创建一个菜单驱动机制来打开/关闭构建模块。很简单,因为我从Linux和开源中偷来了大部分。
我唯一的问题是重新阅读新创建的。config文件。
因此,"make menuconfig"会做以下操作:
。假:menuconfig
menuconfig: ${SCRIPTS_DIR}/config/mconf check_config ${TOP}/gnet.kconfig
@ $ {SCRIPTS_DIR}/config/mconf gnet.kconfig
${SCRIPTS_DIR}/config/mconf使用gnet. conf文件。在${TOP}目录下创建一个.config文件。
我想做的是重新评估。config,这样我就可以从中获得一些参数,并知道用户是否更改了任何重要的内容。
我试过以下方法,但不太成功。
。配置:menuconfig
Cp .config default-config/arm-config
大概是这样…但是。config是旧的,不是新的。
我希望我解释得够清楚了。
谢谢。stv
正如Beta所指出的,您遗漏了一些相关的内容。目标.config
与menuconfig
有什么关系?这两者有什么联系吗?你确定第二道食谱被执行了吗?
当您运行make menuconfig
时,目标menuconfig
将成为make尝试更新的最终目标。由于它是一个伪目标,它的配方将始终被执行。在此之前,make检查它的依赖项是否存在并且是最新的。正如我所说,您没有显示目标menuconfig
和.config
之间的链接,那么是什么导致.config
的配方被执行呢?
在一个相关的问题上,你的规则并没有说真话。所示的第一条规则创建了文件.config
,因此它应该在该规则的目标列表中。您的第二条规则依赖于该文件的存在,因此它应该在这里的依赖项中,然后创建一个文件default-config/arm-config
,因此它应该是该规则的目标。