GNU Make
のお話です。
Makeを使用したことがある方を想定しているので、GNU Make
とは何かは書きません。
Makefileに使用するshellが定義できるの知らなかったよ
SHELL=/bin/bash
上記のように定義できます。bashを指定しました。
/bin/shを使う必要があるかという話
GNU Make
はデフォルトでは/bin/shが使用されます。
By default, /bin/sh is used for the shell
では、/bin/sh が問題がある場合はどのようなときでしょうか。
私の経験だと、/bin/sh が使用されたために、zshで成功してしていたsource ./conf.txt
がエラーになりました。
ですので、どこの環境でも大体利用できる/bin/bashを指定しておくのが良いのではないかと。
参考
-
とあるエンジニアの備忘log: Make のポータビリティについて考える
- こちらのブログ無しにはMakeの使用shellを知り得なかった 感謝
- オライリー
-
/bin/sh と /bin/bash の違い - 双六工場日誌
- /bin/bash と /bin/sh は完全に別物だと思ってました....