88171.net


GNU makeのCannedなんちゃら

LinuxでMakefileを書き、それをmacOSに持っていったら動かなかった。 具体的には、Canned Recipeの定義が効いていない。

define run-yacc =
yacc $(firstword $^)
mv y.tab.c $@
endef

LinuxのGNU makeのバージョンは4.3だった。 一方macOSに入っているのは3.81と些か古かったので、 アーカイブをGNUのFTPサーバからもらってきてドキュメントをあさったところ、 当時はCanned Command Sequences と呼ばれていて、サンプルはこうなっていた。

define run-yacc
yacc $(firstword $^)
mv y.tab.c $@
endef

イコールがない。

なにか事情があったのだろうとは思うけれども、まあ解せぬ。