我是一个有用的助手,可以为您提供文本翻译。
我有一个 BSDmakefile 和 GNUmakefile,它们几乎完全相同,除了依赖管理。
GNUmakefile:
ifneq ($(MAKECMDGOALS), "clean")
-include $(dependencies)
endif
BSDmakefile是一个文件:
.for i in $(dependencies)
.sinclude "${i}"
.endfor
有没有一种方法可以检测我是否正在运行gmake或bsdmake,然后根据情况执行适当的包含语句?我记得看到有人利用两个makefile处理器中的一个小技巧来实现类似的效果。
或者,如果有更好的方法,请告诉我!(切换到SCons或CMake不合适!)
谢谢!
gmake
或bmake
呢?如果你想要可移植性,可以使用automake
并将细节留给它。许多项目很难正确地获得单个构建系统,更别说两个了。 - Jack Kelly