[解決済み] Makefile、ヘッダーの依存性
2022-10-21 18:51:09
質問
例えば、次のようなルールのmakefileがあるとします。
%.o: %.c
gcc -Wall -Iinclude ...
ヘッダーファイルが変更されるたびに、*.oを再構築したい。依存関係のリストを作成するのではなく、ヘッダーファイルが変更されるたびに
/include
にあるヘッダーファイルが変更されるたびに、 ディレクトリ内のすべてのオブジェクトがリビルドされなければなりません。
これに対応するためにルールを変更する良い方法が思いつかないので、提案に応じます。ヘッダーのリストがハードコーディングされる必要がない場合は、ボーナスポイントがあります。
どのように解決するのですか?
GNUコンパイラを使用している場合、コンパイラが依存関係のリストを組み立ててくれます。Makefileの断片です。
depend: .depend
.depend: $(SRCS)
rm -f "$@"
$(CC) $(CFLAGS) -MM $^ -MF "$@"
include .depend
または
depend: .depend
.depend: $(SRCS)
rm -f "$@"
$(CC) $(CFLAGS) -MM $^ > "$@"
include .depend
ここで
SRCS
はソースファイルの全リストを指す変数です。
また、ツール
makedepend
というツールもありますが、私は
gcc -MM
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例