anatsuk1のウェブログ

ブログを書いてみたい!

ルールメモ

GNU Makeのルールメモ

パターンルールでのダブルコロン( :: )

ダブルコロンを使用して効率化を目指す場合に引っかかった例。
ダブルコロンは最終的なものなので、二番目のパターンルールがうまく動かない。

%.o:: %.c
$(CC) $(CFLAGS) -c $<

%.tab.c %.tab.h: %.y
bison -d $<

正しくは以下か。未確認。
%.o: %.c
$(CC) $(CFLAGS) -c $<

%.tab.c %.tab.h: %.y
bison -d $<

参考:10.5.2 パターンルールの例

ルールでのダブルコロン( :: )

同じターゲットに対して異なるコマンドを実行できる。
使用目的は不明。ライブラリアンを使用するときに役に立つ?

$(objects)::$(source)
command
$(objects)::$(different_source)
differnet_command

参照した以下のリンク先はシングルコロンのルールで解決できそうだが。

参考:ダブル コロン ルール