2012-09-07 13 views
13

に私はこのように見えるMakefileのルールの数を見ています:セミコロンのMakefileのルール定義

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

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

は、ルール定義無操作の終わりにセミコロンですかんそれは特別な意味を持っていますか?

+0

この文脈では、これはノーオペレーションです。同じ行に何かが続いていれば、それはノーオペではありません。 –

答えて

15

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

マニュアルの章5:ルールの

コマンドは 一つずつ実行するシェル・コマンド・ラインから構成されています。それぞれのコマンドラインは、最初のコマンドライン がターゲットと前提条件のセミコロンで区切られた 行に接続されている点を除き、タブで始まる必要があります。

あなたのケースでは、セミコロンの後にコマンドがないので、ノーオペレーションになります。

関連する問題