読者です 読者をやめる 読者になる 読者になる

やってみる

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

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を使いまわすという方法になりそうな予感。