aggregate.mk 996 B

123456789101112131415161718192021222324252627282930
  1. ifeq ($(_THEOS_RULES_LOADED),)
  2. include $(THEOS_MAKE_PATH)/rules.mk
  3. endif
  4. SUBPROJECTS := $(strip $(call __schema_var_all,,SUBPROJECTS))
  5. ifneq ($(SUBPROJECTS),)
  6. internal-all internal-clean:: _OPERATION = $(subst internal-,,$@)
  7. internal-stage internal-after-install:: _OPERATION = $@
  8. internal-all internal-clean internal-stage internal-after-install:: _OPERATION_NAME = $(subst internal-,,$@)
  9. internal-all internal-clean internal-stage internal-after-install::
  10. @abs_build_dir=$(_THEOS_ABSOLUTE_BUILD_DIR); \
  11. for d in $(SUBPROJECTS); do \
  12. $(PRINT_FORMAT_MAKING) "Making $(_OPERATION_NAME) in $$d"; \
  13. if [ "$${abs_build_dir}" = "." ]; then \
  14. lbuilddir="."; \
  15. else \
  16. lbuilddir="$${abs_build_dir}/$$d"; \
  17. fi; \
  18. if $(MAKE) -C $$d -f $(_THEOS_PROJECT_MAKEFILE_NAME) $(_THEOS_NO_PRINT_DIRECTORY_FLAG) --no-keep-going $(_OPERATION) \
  19. THEOS_BUILD_DIR="$$lbuilddir" \
  20. ; then\
  21. :; \
  22. else exit $$?; \
  23. fi; \
  24. done;
  25. endif
  26. $(eval $(call __mod,master/aggregate.mk))