17

Makefile に次のようなルールがいくつかあります。

$(PATH)/foo.inc:;
include $(PATH)/foo.inc

$(PATH)/bar.inc:;
include $(PATH)/bar.inc

ルール定義の末尾にあるセミコロンはノーオペレーションですか、それとも特定の意味を持っていますか?

4

1 に答える 1

23

target-prerequisite のある行のセミコロンは、少なくとも GNU make では、このルールに対して実行する最初のコマンド行です。

マニュアルの第5章から:

ルールのコマンドは、1 つずつ実行されるシェル コマンド ラインで構成されます。各コマンド ラインはタブで開始する必要があります。ただし、最初のコマンド ラインは、間にセミコロンを付けてターゲットと前提条件の行に接続できます。

あなたの場合、セミコロンの後にコマンドがないため、何もしません。

于 2012-09-07T17:46:26.117 に答える