子 Makefile をうまく使うメモ
一人アドベントカレンダー 2014 10 日目 by @takkyuuplayer
環境設定をmake
コマンドでやりたいときに アプリ毎に子Makefile
を作って、
親Makefile
からはそれを呼び出すだけにしたい。
current_dir
はどうやって取ればいいの?- 子
Makefile
から親Makefile
で定義した変数とか使いたい
っていう周りを解決したのでメモ
Makefile 例
- 親Makefile
./Makefile
mkfile_path=$(abspath $(lastword $(MAKEFILE_LIST))) current_dir=$(notdir $(patsubst %/,%,$(dir $(mkfile_path)))) export SRC_ROOT=${current_dir}/src # accessible from child Makefile export WEB_ROOT=/web/apps/ all: setup setup: setup_common cd ${SRC_ROOT}/app1 && $(make) cd ${SRC_ROOT}/app2 && $(make) cd ${SRC_ROOT}/app3 && $(make) setup_common: ...
- 子Makefile
./appX/Makefile
DOCUMENT_ROOT=${WEB_ROOT}/appX SRC_DIR=${SRC_ROOT}/appX all: setup setup: mkdir -p ${DOCUMENT_ROOT} ln -s ${DOCUMENT_ROOT}/css ${SRC_DIR}/css ln -s ${DOCUMENT_ROOT}/js ${SRC_DIR}/js
次回予告
明日の担当も @takkyuuplayer です。