2006/06/25(日)多段make
ソースファイルとプラグインを一括コンパイルするために,多段makeに挑戦.
とりあえずのメモです.きちんと出来るようになったら,詳細を書きます.
ディレクトリ構造
album3.1/ src/ plugin/ plugin1/ plugin2/ plugin3/ plugin/
ターゲットとなるMakefileは,{album3.1,src,plugin,plugin{1,2,3}}/Makefile
makeファイル
album3.1/Makefile
CC = gcc all: $(MAKE) -C src
album3.1/src/Makefile
INCLUDE += -I . all: here plugins here: # このフォルダでコンパイルする内容 plugins: $(MAKE) -C plugin
album3.1/src/plugin/Makefile
INCLUDE += -I ../.. SUBDIRS = $(shell find * -type d) all: list='$(SUBDIRS)'; for subdir in $$list; do \ $(MAKE) -C $$subdir || exit 1;\ done clean: list='$(SUBDIRS)'; for subdir in $$list; do \ $(MAKE) clean -C $$subdir;\ done
album3.1/src/plugin/plugin1/Makefile
# 各プラグインにおまかせ # ただし,INCLUDEを上書きしないように注意 all: # 適当にコンパイル
album3.1/src/plugin/MakefileにおいてENTRIES = $(shell find * -type d)をしてるけど,現在のフォルダにあるディレクトリ一覧を取り出す手段は無いのでしょうか?
誰か分かるかた教えてください.