フレームワークとしての make の二重コロン2017年04月12日 12時27分55秒

二重コロンは clean ターゲットのように、一つの動作を分けて書くこと以外にも、フレームワークとして使うことも出来る。make では include を使うことにより、他の make ファイルを読むことが出来る。

例えば、make check や make install といった、各々のターゲットを準備しておくと、make のデフォルトの動作として使うことが出来て、それぞれに敵した動作は後で追加出来る。

% cat uyota-framework.mk 
check ::
        true
install ::
        true
% cat Makefile 
target :
        @echo Hello
include uyota-framework.mk
% make install
true
% gmake install
true

最近は、Jenkins やその他の解析ツールなどで、特定のシェルスクリプトや make のターゲットを順次実行するようなフレームワークなどがあちこちで見られる。新規のものだったら、一つずつ追加なので良いが、既にあるものを大量に対応するのには手間と時間が掛かる。そんなときに、共通 make ファイルに追加することで、利用可能なターゲットから順次対応していく時などに、この方法が役に立つ。