を参照する Makefile があるmyprog.c
場合、ルールを指定しないとmyprog.c
、make は自動的に のような処理を行います$(CC) myprog.c
。
デフォルトの動作を再指定して、新しいデフォルトの動作を追加することはできますか (例: で終わるファイルmyextension
)。
COMPILE.c
暗黙のルールのレシピは、LINK.c
、 などの変数を通じて内部的に定義されます。
GNU Make Manual のCatalog of Implicit Rulesの章から:
make
は、 .xソース ファイルをコンパイルする規則で変数 を使用するという規則に従いますCOMPILE.x
。同様に、.xLINK.x
ファイルから実行可能ファイルを生成するルールでは、 ;が使用されます。また、 .x ファイルを前処理するルールはPREPROCESS.x
.
上記のリンクには、いくつかの定義済みの暗黙的なレシピも含まれています。
GNU make には組み込みの暗黙の規則がたくさんありますmyprog.c
。好きなように独自の暗黙のルールを追加できます。たとえば、次の暗黙の規則は、.out
ファイルから.myextension
ファイルを生成する方法を GNU make に伝えます。
%.out: %.myextension
@echo Building $@ from $<
@# do whatever you need here...
それを Makefile にドロップすると、出力ごとに明示的なルールを指定しなくても、一致する などがある限り、 、gmake foo.out
または などを実行できます。gmake bar.out
foo.myextension