夜行録 - 酔歩.net
Calendar
Mon | Tue | Wed | Thu | Fri | Sat | Sun |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
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__か否かで分けていいんだろうか…