Makefile 915 B

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