加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 如何动态包含makefile

发布时间:2020-12-16 07:22:19 所属栏目:百科 来源:网络整理
导读:现在我有两个makefile,A.mk和B.mk. A.mk将包括B.mk 但B.mk是由一些在A.mk中执行的命令动态生成的 这是A.mk的伪代码 command to generate B.mk include B.mkcompile and link 问题是include命令类似于C文件中的#include宏. A.mk尝试在执行命令之前加载B.mk.
现在我有两个makefile,A.mk和B.mk.

A.mk将包括B.mk
但B.mk是由一些在A.mk中执行的命令动态生成的

这是A.mk的伪代码

command to generate B.mk 
include B.mk
compile and link

问题是include命令类似于C文件中的#include宏. A.mk尝试在执行命令之前加载B.mk.

有人能给我一些建议吗?

非常感谢
杰瑞

解决方法

可以让它像这样工作:

a.mk(此时,b.mk不存在)

-include b.mk

all:
    @echo foo : $(FOO)

b.mk:
    @echo "FOO=2" > b.mk

使用make -f a.mk,我们得到了这个:

foo : 2

如果b.mk不存在,则include指令前面的符号允许不生成警告.

正如评论中的MadScientist所述,您不需要将B.mk作为任何目标的先决条件.如果make看到它丢失并找到相应的目标,它将自动构建它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读