hogeヘッダファイルこれだけだと「ヘッダファイル無いやんけ!」という指摘がくるので、記事を書いた。auewe.hatenablog.comどうでもいい話。Makefileの書き方が覚えられない。習得しても、なぜかすぐに忘れる。Bitbucketの自分用リポジトリを調べたら、5年間あわせて25個のMakefileが見つかった。悩んだり、置換やワイルドカードの使い方をググったりしている。原因は、Makefileは文法がキモいうえに中途半端な機能が中途半端に揃っているせいだと思う。メイクマスターになるためには、まず汎用性の高い便利な機能だけをしっかり覚えるのが重要なのではないか。C大規模なC言語プログラムでは、ソースやヘッダファイルが複雑な依存関係を持つため、それらを自動解決してくれるMakefileが欲しくなる。新しいソース、ヘッダファイルを作成した際、Makefileを書き換ずに済む他のプロジェクトにも使いまわせる汎用性Makefile自体が短く、保守しやすいだいぶ贅沢だが、頑張ってMakefileをこしらえたので、得られた知見を忘れないうちにまとめておく。以前書いたMakefile文法ミニマムも参考にしてくれ。それぞれ別ディレクトリで管理する。見れば理解できるだろう。root/obj/Makefileに丸投げしている。意味がわかると思うが、ALL_Dについては説明が必要だろう。同じディレクトリに設置する必要があると分かるだろう。$@これでオブジェクトファイルの依存関係が解決し、正しく再コンパイルできるようになったわけだ。コマンドを叩いた後の処理内容をまとめておく。