やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Makefileで暗黙ルールと変数をもちいて記述を簡略化した

Makefileを簡略化する記述について確認した。

window messagebox

入手先

GitHub MEGA

開発環境

ライブラリ

環境変数のPathに各DLLがあるディレクトリパスを追記することでexeを実行できる。

前回まで

  1. MinGWでコンパイルできる環境が整った。
  2. さらにGTKmm3ライブラリも揃った。
  3. HelloWorldまでやった。

Makefileコンパイルする方法を以下のとおりに調べる。

実施 パターン
単体コード
複数コード
略記
サブディレクト
Release/Debug切替

ソースコード

ファイル 説明
Makefile1 依存関係をすべて丁寧に記述。
Makefile2 依存関係を暗黙のルールにより省略。
Makefile3 重複したファイル名を変数にして省略。
Makefile4 重複したコンパイル引数を変数にして省略。

こうしてMakefileを簡略化できましたとさ。実際に使っているのはMakefile4からコメントを省いたMakefileのみ。

所感

同じことは書かないようにすることでミスをなくす。 それができるのはいいことだと思う。でも、そういう工夫が必要なこと自体が面倒。仕方ないのか?

正直、依存関係もソースコード#includeから読み取ってくれよと思う。ライブラリも同様。 つまり、Makefile自体、書かずともコンパイルしてほしい。 簡略化を極めるなら完全自動化がゴールか。

現実的にはテンプレMakefileを使いまわすという方法になりそうな予感。