Makefileの"-"(ハイフン)と"@"(アット)の意味 2019-07-05 Linux, Shell “@”(アット)実行コマンドを標準出力に表示しません 123456$ cat MakefileAAA: echo "AAA"BBB: @echo "BBB" 123456$ make AAAecho "AAA" <-- 実行コマンドが標準出力に出るAAA$ make BBBBBB <-- 出ない “-“(ハイフン)その行がエラー終了しても後続の処理を実行します 123456789CCC: @echo "[[[[[[[ CCC 1 ]]]]]]]" ls /xxxxxxxxxxx @echo "[[[[[[[ CCC 2 ]]]]]]]" <-- 直前のlsでエラー中断するので実行されないDDD: @echo "[[[[[[[ DDD 1 ]]]]]]]" -ls /xxxxxxxxxxx @echo "[[[[[[[ DDD 2 ]]]]]]]" <-- 直前のlsでエラー中断せずに実行される 1234567891011121314$ make CCC[[[[[[[ CCC 1 ]]]]]]]ls /xxxxxxxxxxxls: '/xxxxxxxxxxx' にアクセスできません: そのようなファイルやディレクトリはありませんMakefile:8: ターゲット 'CCC' のレシピで失敗しましたmake: *** [CCC] エラー 2$ make DDD[[[[[[[ DDD 1 ]]]]]]]ls /xxxxxxxxxxxls: '/xxxxxxxxxxx' にアクセスできません: そのようなファイルやディレクトリはありませんMakefile:13: ターゲット 'DDD' のレシピで失敗しましたmake: [DDD] エラー 2 (無視されました)[[[[[[[ DDD 2 ]]]]]]]