如何在GNU和BSD制作中包含BSD . program .mk ?



我是makeFile的新手,我有一个基本的问题。

我有一个make文件的内容。

.include <bsd.prog.mk>

我在执行make文件

时得到错误
Makefile:: *** missing separator.  Stop.

我得到错误的原因,因为我在Linux环境中执行makefile,而不是在FreeBSD系统中。

那么,有没有办法在Linux和BSD系统中都包含bsd.prog.mk文件?如果Linux支持,如果不支持,那么应该包含什么类似的文件来保持MakeFile的行为相同?

您需要一个兼容的Make实现(和构建系统文件)。问题是大多数GNU/Linux系统上默认的Make实现是GNU Make,这与FreeBSD的不兼容。

幸运的是,FreeBSD现在使用bmake,它在大多数系统中都是打包的,如果你的系统中没有,你可以在这里下载:https://crufty.net/help/sjg/bmake.html(并自己构建)。

您可以在Linux系统上安装bmake并使用它,或者您可以在BSD系统上安装GNU make并使用GNU make include语法:https://www.gnu.org/software/make/manual/html_node/Include.html

最新更新