首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BSD Make和GNU Make compatible makefile

BSD Make和GNU Make compatible makefile
EN

Stack Overflow用户
提问于 2010-10-03 12:55:17
回答 1查看 3.5K关注 0票数 7

我有一个BSDmakefile和GNUmakefile,除了依赖管理之外,它们几乎是一样的。

GNUmakefile:

代码语言:javascript
复制
ifneq ($(MAKECMDGOALS), "clean")
-include $(dependencies)
endif

BSDmakefile:

代码语言:javascript
复制
.for i in $(dependencies)
.sinclude "${i}"
.endfor

有没有一种方法可以让我检测我是在gmake还是bsdmake下运行,然后在此基础上执行适当的include语句?我记得看到有人利用了两个makefile处理器中的一个怪癖,这样它们就可以达到类似的效果。

或者,如果有比这更好的方法,我想知道!(切换到SCons或CMake并不合适!)

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2010-10-03 19:04:30

您可以将特定于GNU的内容放在GNUmakefile中,将特定于BSD的内容放在BSDmakefile中,将常用的内容放在名为Makefile.common或类似文件中。然后在其他两个中的每一个的开头都包含Makefile.common。缺点是,现在你有3个makefile,而不是2个。优点是,你只需要编辑1个。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3848656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档