gmake foreach
http://www.ecoop.net/coop/translated/GNUMake3.77/make_8.jp.html#IDX532
次の簡単な例では`files'という変数に`dirs'のリストにあるディレクトリの全ファイルのリストをセットします。
dirs := a b c d files := $(foreach dir,$(dirs),$(wildcard $(dir)/*))(中略)
上の例は(`dirs'をセットする以外は)次のものと同じ結果になります。files := $(wildcard a/* b/* c/* d/*)
bash
http://tiutiu.net/program/supply/make/
たとえば, いくつかの別のディレクトリのmakefileを実行したいとき。
SUBDIR=foo bar all: list="$(SUBDIR)"; \ for i in $$list; do \ echo $$i; \ cd $$i; make; cd ..; \ done
めも