2017年8月9日水曜日

暗黙ルールを駆使した Makefile の雛形

Makefile には知る人ぞ知る暗黙ルールがたくさんあるので,今回はそれを紹介したいと思う.

例えば,main.c というソースをコンパイルする Makefile を普通に書くと以下のような感じだが,
main:   main.o
    gcc -o $@ $<

main.o: main.c
    gcc -c -o $@ $<

実はこんなに長ったらしく書かなくても,ただ単に
main:   main.o

と書くだけで十分である.両者の実行結果はそれぞれ以下のようになる.(それぞれ上下が対応)