我有一个BSDmakefile和GNUmakefile,除了依赖管理之外几乎完全相同.
GNUmakefile:
ifneq ($(MAKECMDGOALS), "clean")
-include $(dependencies)
endif
Run Code Online (Sandbox Code Playgroud)
BSDmakefile:
.for i in $(dependencies)
.sinclude "${i}"
.endfor
Run Code Online (Sandbox Code Playgroud)
有没有办法让它能够检测我是否在gmake或bsdmake下运行,然后根据它执行相应的include语句?我记得看到有人利用两个makefile处理器中的怪癖,这样他们就可以达到类似的效果.
或者,如果有比这更好的方法,我想知道!(切换到SCons或CMake是不合适的!)
谢谢!
你可以将你的GNU特定的东西GNUmakefile
,你的BSD特定的东西BSDmakefile
,和你的常见东西放在一个名为Makefile.common
或类似的文件中.然后包括Makefile.common
在其他两个的每个开头.下行是,现在你有3个makefile而不是2.上行,你只会编辑1.
归档时间: |
|
查看次数: |
2990 次 |
最近记录: |