夜行録 - 酔歩.net

Calendar

< February 2009 >
MonTueWedThuFriSatSun
1
2345678
9101112131415
16171819202122
232425262728

Monday, 09.02.09

OSX で make するはなし

他人が書いたコード。
ソースとオブジェクトが別の場所に入るようになっていて、 .dなんてファイルを作るようになっている。

…なっているんだが、それができてしまうと2度目の build がコケる。 何故か…。

よぉく中身を見ると、ファイルの頭に -n なんて余計な出力が……。
echo が -n を解釈しそこなったのだ。ウンコー

そこまではすぐ判るんだが、なんでそうなるのかがなかなか判らない…。最後に判明したのは、 OSX の /bin/sh は /bin/bash と違って、 builtin の echo が -n を解釈しない、ということらしい。

全部直してまわるのは莫迦らしかったので、 top に SHELL=/bin/bash と追加。

ついでに、 OSX の gcc は __unix__ を立てないんだな…。しかし__APPLE__は何か別のことをやっている謎コード…。__MACH__か否かで分けていいんだろうか…