1SUBDIRS := ion 2 3TEST_PROGS := run.sh 4 5.PHONY: all clean 6 7include ../lib.mk 8 9all: 10 @for DIR in $(SUBDIRS); do \ 11 BUILD_TARGET=$(OUTPUT)/$$DIR; \ 12 mkdir $$BUILD_TARGET -p; \ 13 make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\ 14 #SUBDIR test prog name should be in the form: SUBDIR_test.sh 15 TEST=$$DIR"_test.sh"; \ 16 if [ -e $$DIR/$$TEST ]; then 17 rsync -a $$DIR/$$TEST $$BUILD_TARGET/; 18 fi 19 done 20 21override define RUN_TESTS 22 @cd $(OUTPUT); ./run.sh 23endef 24 25override define INSTALL_RULE 26 mkdir -p $(INSTALL_PATH) 27 install -t $(INSTALL_PATH) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) 28 29 @for SUBDIR in $(SUBDIRS); do \ 30 BUILD_TARGET=$(OUTPUT)/$$SUBDIR; \ 31 mkdir $$BUILD_TARGET -p; \ 32 $(MAKE) OUTPUT=$$BUILD_TARGET -C $$SUBDIR INSTALL_PATH=$(INSTALL_PATH)/$$SUBDIR install; \ 33 done; 34endef 35 36override define EMIT_TESTS 37 echo "./run.sh" 38endef 39 40override define CLEAN 41 @for DIR in $(SUBDIRS); do \ 42 BUILD_TARGET=$(OUTPUT)/$$DIR; \ 43 mkdir $$BUILD_TARGET -p; \ 44 make OUTPUT=$$BUILD_TARGET -C $$DIR $@;\ 45 done 46endef 47