最近、もう少しmakeをきちんと書こうと思って、はじめてmakeに関して真面目に覚えてみようと思ったのですが、こういうのって覚えてもすぐ忘れてしまうんですよね。
なので忘れる前に、よく使いそうな省略文字について図にしておきました。省略記号はこの辺りを覚えておけば問題ないでしょう。
$* は、ターゲットだろうが入力ファイルだろうが、拡張子を抜いた分のシンボル名だから共通だ、という意味合いで「*」を使っているのだと覚えればよろし。foo.c から、foo.o を出力するとして、$* は「foo」になる、と。
で、「$<」 が入力ファイル名で、「$@」が出力ファイル名と。これは記号の見た目と役割が直感的でわかりやすいんじゃないでしょうか。
あと使うのは、
ソースをこんな感じでズラーっと並べておいて・・・
SRCS = aaaa.c bbbb.c cccc.c
OBJS に、 aaaa.o bbbb.o cccc.o を代入。
OBJS = $(SRCS: .c = .o)
という感じで、リストの中の拡張子を丸ごと取り替える方法を覚えておけば大丈夫(これは自分に言い聞かせているのです)。