calc : main.o sub1.o sub2.o cc main.o sub1.o sub2.o -o $@
$@には、ターゲット名のcalcが設定される。
$?マクロは、ターゲットより新しい依存関係の名前の文字列に設定される。
sub1.o : cc -o $
$には、sub1.cのソースファイル名が設定される。
$*マクロは、現在のターゲットと依存するファイル名とに共通する接頭部の文字列に設定される。
以上のマクロの他に、$(@D)、$(@F)、$(*D)、$(*F)、$(D)、$(F)がある。 これらは、上記のマクロに"D"か"F"がついた形になっている。文字"D"は対応する名前のディレクトリ部分だけを参照することになり、もじ"F"はファイル名の部分だけを参照することになる。これらの拡張マクロは次のように使用することができる。
subprog : /user/project/subprog cd $(D); $(MAKE) $(F)
ここで、$(D)には/usr/projectのディレクトリ名が設定され、$(F)にはsubprogが設定される。