我想使用make / gmake从bash脚本文件执行我的Makefile,具体取决于编译它的系统:FreeBSD上的gmake(不是标准make)和其他的make。为此,我想确定系统上安装的make命令是否为GNU make: - 如果GNU make然后用make编译 - 如果不是GNU make然后用gmake编译(如果没有安装gmake则引发错误)
有没有一种简单的方法可以做到这一点?
答案 0 :(得分:3)
if make --version | grep "^GNU Make" >& /dev/null
then
MAKE=make
else
MAKE=gmake
fi
${MAKE} ...
编辑:更改--ver到--version
答案 1 :(得分:1)
您可以使用uname
:
if [ `uname -s` = "FreeBSD" ]; then
makeprg=gmake
else
makeprg=make
fi
正如我在wikipedia上看到的,在FreeBSD uname -s
上将打印FreeBSD,在Linux上将输出Linux(在我的机器上)。
编辑:FreeBSD而不是Linux。