2011-12-13 77 views
4

是否存在将gmake的GNU Makefile转换为可用于make(FreeBSD-make)的Makefile的实用程序?将gmake Makefile转换成Makefile?

+0

你见过这个:http://stackoverflow.com/questions/1194957/what-is-the-difference-between-gmake-and-make? – pmod

+0

@pmod,不,我之前没有看到过我的帖子。不幸的是,有趣的阅读 - 它仍然不能回答我的问题。 – nickb

+0

当你使用freebsd-make为gmake写的makefile时,你期望什么样的不兼容性?你有没有试过使用makefile?即你能否详细说明你的问题 – pmod

回答

1

这是不可能的,因为你可以在GNU make中做的事情你不能在make的其他版本中做。除此之外,用于处理字符串的函数宏和makefile中的条件通常不可用。

2

如前所述,没有这样的转换器,我非常怀疑可能存在这样的转换器。据我了解,你有两种选择:

  1. 使用GNU make port到FreeBSD。例如this

  2. 补丁makefiles使它们兼容FreeBSD使。实际上LuaJIT中没有太多这样的内容(main Makefilesrc/Makefile)。这应该相当容易。只要确保你拥有所有的工具(检查shell中的内容),并逐步修复“错误”。

    例如,在线路错误29(出口PREFIX =的/ usr /本地)是由于GNU使指令出口其具有在FreeBSD中不作任何类似。 manual“环境变量设置在正在运行make的shell中的Makefile外部”,因此您必须遵守此要求。你

    还需要解决所有使条件语句和等,差异的一大堆被收集在BSD make vs. GNU make

4

该实用程序被称为开发商(程序员,做大师,... ):-) 严肃地说,这项任务所需的人工智能足够复杂,并且自动转换的需求足够接近epsilon,没有人会认真考虑编程。

如果你有一个GNU makefile,最好使用GNU make。