コンパイルされているシステムに応じて、make/gmake を使用して bash スクリプト ファイルから Makefile を実行したいと考えています。そのために、システムにインストールされているmakeコマンドがGNU makeであるかどうかを判断したいと思います: - GNU makeの場合はmakeでコンパイルします - GNU makeでない場合はgmakeでコンパイルします(gmakeがインストールされていない場合はエラーを発生させます)
これを行う簡単な方法はありますか?
if make --version | grep "^GNU Make" >& /dev/null
then
MAKE=make
else
MAKE=gmake
fi
${MAKE} ...
編集: --ver を --version に変更
あなたが使用することができますuname
:
if [ `uname -s` = "FreeBSD" ]; then
makeprg=gmake
else
makeprg=make
fi
ウィキペディアで見られるように、FreeBSDではFreeBSDuname -s
が印刷され、Linuxでは出力Linuxが出力されます(私のマシンでも)。
編集:Linuxの代わりにFreeBSD。