makeのターゲットをスキップする方法はありますか?

makeのターゲットをスキップする方法はありますか?

ソフトウェアが正しくコンパイルされ実行されるようにパッチを追加しようとしていますが、残念ながら変更を追加するために迷惑なコードスタイルチェックエラーが発生し続けます。このステップをスキップする方法はありますか?

ベストアンサー1

makefileが次の場合:

code-style-check: source.c
        tool-you-dont-have

myprogram: code-style-check source.c
        compile source.c -o myprogram

その後、tool-you-dont-have次のファイルを作成してこの実行を回避できますcode-style-check

touch code-style-check

code-style-checkMakeはそれが現在より最新であることを確認しsource.c、再構築しようとしません。

code-style-check宣言された偽のターゲットが使用されている場合、この方法は機能しません.PHONY: code-style-check。偽のターゲットはファイル名ではありません。

依存関係がある場合は、code-style-check再構築するかどうかを決定する際には重要ではありませんmyprogram。上記の例ではcode-style-check依存関係がないため、これは重要ではありません。myprogram

偽のターゲットでも動作するGNU makeのもう1つの解決策は、次のことを実行することです。

make -o code-style-check …

このオプションは、 make に既に存在するファイルより古いファイルを-o考慮し、(既に存在するファイルよりも最新のファイルを作成するのとは対照的に)、再構築しようとしないように指示します.もう一度言いますが、依存関係も必要な場合はビルドされません。code-style-checktouchcode-style-checkmyprogram

おすすめ記事