Makefile の "-@" (ハイフン、アット) ってなんですか?
Makefile を直そうと思い眺めていたら、コマンド行の行頭が "-@" で始まる行があった
この "-@" って何だ?と思って Google 先生に聞いてみたが
いかんせん検索文字列が記号になってしまうのでうまくひっかからない
仕方がないのでよくよく GNU`make' の文書を読んでみると
"-" と "@" はそれぞれ別な命令だということが分かった
あーーー恥ずかしい
"-" はその行のコマンドが失敗しても次の行に実行が移る
"@" はコマンド行をエコーしない
の意味だった
コマンド内エラー
http://www.ecoop.net/coop/translated/GNUMake3.77/make_5.jp.html#SEC47
5.5 Errors in Recipes
http://www.gnu.org/software/make/manual/make.html#index-g_t_0040code_007b_002d_007d-_0028in-recipes_0029-356
簡単な実例
[mitsuaki@localhost make_test]$ cat Makefile hoge: echo fuga dame (コメント: ←先頭に"-"なしで、失敗するコマンド) echo piyo chin: echo ton -dame (コメント: ←先頭に"-"ありで、失敗するコマンド) echo shan [mitsuaki@localhost make_test]$ make hoge echo fuga fuga dame make: dame: コマンドが見つかりませんでした make: *** [hoge] エラー 127 (コメント:エラーになって echo piyo が実行されていない) [mitsuaki@localhost make_test]$ make chin echo ton ton dame make: dame: コマンドが見つかりませんでした make: [chin] エラー 127 (無視されました) echo shan (コメント:エラーになっても echo shan が実行さる) shan [mitsuaki@localhost make_test]$