我想验证我手写的makefile,以确保它们在各种平台上按预期工作。是否有一个实用工具可以用来警告我可能会阻碍的特性?
答案 0 :(得分:1)
不是我所知道的。
最好的办法是尊重旧规则“早到港口;经常出口”。尝试尽快在其他平台上构建应用程序,并在有机会时重新执行。这将消除代码中的可移植性错误,并将Makefile验证为副作用。
那就是说,尽可能地限制自己保守的Makefile功能是明智的。您可能需要查看POSIX make manpage(虽然我建议您使用%.foo: %.bar
规则,而不是名义上的标准.bar.foo:
规则),以及portable make programming部分autoconf手册充满了很好的建议。
哦,你知道autoconf是好事,是吗?
答案 1 :(得分:0)
抱歉兄弟......但不确定是否有任何单个代码使用eveywhere代码,这是Unix中最强大和最弱点之一......操作系统本身有很多不同的风格, Make Utility的实现 - GNU只是其中之一,开放的solaris形式(小差异)也是如此,但它们确实共享许多共同特征
只有当您使用GNU make调用makefile描述符时才有GNU Make的功能,对于make实用程序的其他OS变量也是如此...具有这些约束
“在您希望它工作的所有可能系统中进行全面测试是我想到的唯一解决方案”