Makefile 886 B

12345678910111213141516171819202122232425262728293031323334353637
  1. # SPDX-License-Identifier: GPL-2.0
  2. SUBDIRS := functional
  3. TEST_PROGS := run.sh
  4. .PHONY: all clean
  5. include ../lib.mk
  6. all:
  7. @for DIR in $(SUBDIRS); do \
  8. BUILD_TARGET=$(OUTPUT)/$$DIR; \
  9. mkdir $$BUILD_TARGET -p; \
  10. $(MAKE) OUTPUT=$$BUILD_TARGET -C $$DIR $@;\
  11. if [ -e $$DIR/$(TEST_PROGS) ]; then \
  12. rsync -a $$DIR/$(TEST_PROGS) $$BUILD_TARGET/; \
  13. fi \
  14. done
  15. override define INSTALL_RULE
  16. mkdir -p $(INSTALL_PATH)
  17. install -t $(INSTALL_PATH) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES)
  18. @for SUBDIR in $(SUBDIRS); do \
  19. BUILD_TARGET=$(OUTPUT)/$$SUBDIR; \
  20. mkdir $$BUILD_TARGET -p; \
  21. $(MAKE) OUTPUT=$$BUILD_TARGET -C $$SUBDIR INSTALL_PATH=$(INSTALL_PATH)/$$SUBDIR install; \
  22. done;
  23. endef
  24. override define CLEAN
  25. @for DIR in $(SUBDIRS); do \
  26. BUILD_TARGET=$(OUTPUT)/$$DIR; \
  27. mkdir $$BUILD_TARGET -p; \
  28. $(MAKE) OUTPUT=$$BUILD_TARGET -C $$DIR $@;\
  29. done
  30. endef