多段makeしよう
多段makeで検索して辿り着く人が多いようなので、解説しておこうと思います。
多段makeとは?
こんな感じ。
多段makeしてみる。
早速ですが、多段makeしてみます。
ファイル構成です。
Makefile dirA/Makefile dirB/Makefile
Makefileしかありません(汗
default : A B @echo this is top dir A : make -C dirA B : make -C dirB
make -C dirAは、
cd dirA && makeと同意です。
dirA/Makefie
default : @echo this is dirA
dirB/Makefieも同じような感じ。
実行してみます。
> make make -C dirA make[1]: Entering directory `D:/home/dev/study/make/dirA' this is dirA make[1]: Leaving directory `D:/home/dev/study/make/dirA' make -C dirB make[1]: Entering directory `D:/home/dev/study/make/dirB' this is dirB make[1]: Leaving directory `D:/home/dev/study/make/dirB' this is top dir
上手くいったようですが・・・表示が邪魔です。
ディレクトリを移動しました。ディレクトリを出ました。ってわかっとるわい!!
make = make --no-print-directory default : A B @echo this is top dir A : $(make) -C dirA B : $(make) -C dirB
--no-print-directoryでディレクトリ表示を、非表示にします。
> make make --no-print-directory -C dirA this is dirA make --no-print-directory -C dirB this is dirB this is top dir
スッキリです。依存順に実行されているようです。
ツールやディレクトリ構成等の指定は、includeを使うともっとスッキリすると思います。
参考:makeの再帰利用