我是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