home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Makefiles / project / aggregate.make next >
Text File  |  1996-07-09  |  2KB  |  73 lines

  1. #
  2. #                              aggregate.make
  3. #
  4.  
  5. default_rule: all
  6.  
  7. include $(MAKEFILEDIR)/common.make
  8. -include $(LOCAL_MAKEFILEDIR)/aggregate.make.preamble
  9.  
  10. recurse_vars = \
  11.     "OBJROOT = $(OBJROOT)" \
  12.     "SYMROOT = $(SYMROOT)" \
  13.     "DSTROOT = $(DSTROOT)" \
  14.     "SRCROOT = $(SRCROOT)" \
  15.     "PROJECT_HEADERS_DIR_NAME = $(PROJECT_HEADERS_DIR_NAME)" \
  16.     "SKIP_EXPORTING_HEADERS = $(SKIP_EXPORTING_HEADERS)" \
  17.     "TOP_PRODUCT_ROOT = $(SYMROOT)" \
  18.     "MAKEFILEDIR = $(MAKEFILEDIR)" \
  19.     "RC_CFLAGS = $(RC_CFLAGS)" \
  20.     "RC_ARCHS = $$archs" \
  21.     "TARGET_ARCHS = $$archs" \
  22.     $(aggregate_recursion_exported_vars)
  23.  
  24. TARGET_ARCH = all
  25.  
  26. all debug profile::
  27.     @$(process_target_archs) ; \
  28.      $(MAKE) recurse_for_subprojects \
  29.         "BUILD_TARGET = $@" \
  30.         "ONLY_SUBPROJECTS = `$(CHANGES) $(SYMROOT)/$(CHANGES_FILE_BASE).$(TARGET_ARCH) $@ $(ALL_SUBPROJECTS)`" \
  31.         $(recurse_vars)
  32.  
  33. install installhdrs::
  34.     @($(set_should_build) ; \
  35.     if [ "$$should_build" = "yes" ] ; then \
  36.        $(process_target_archs) ; \
  37.        $(MAKE) recurse_for_subprojects \
  38.         "BUILD_TARGET = $@" \
  39.         "ONLY_SUBPROJECTS = $(ALL_SUBPROJECTS)" \
  40.         $(recurse_vars) ; \
  41.     fi)
  42.  
  43. recurse_for_subprojects::
  44.     @(subdirectories="$(ONLY_SUBPROJECTS)" ; \
  45.     target="$(BUILD_TARGET)"; \
  46.     beginning_msg="Making $(BUILD_TARGET) in" ; \
  47.     ending_msg="Finished $(BUILD_TARGET) in" ; \
  48.     $(recurse_on_subdirectories))
  49.  
  50.  
  51. projectType_specific_exported_vars = \
  52.     "SYMROOT = $(SYMROOT)/$$sub.derived"   \
  53.     "OBJROOT = $(OBJROOT)/$$sub.derived"   \
  54.     "SRCROOT = $(SRCROOT)/$$sub"
  55.  
  56. .PHONY : always
  57.  
  58. $(ALL_SUBPROJECTS): always
  59.     @($(process_target_archs) ; \
  60.     if [ -n "$(BUILD_TARGET)" ] ; then \
  61.         build_target=$(BUILD_TARGET); \
  62.     else \
  63.         build_target=all; \
  64.     fi; \
  65.     $(MAKE) recurse_for_subprojects \
  66.         "BUILD_TARGET = $$build_target" \
  67.         "ONLY_SUBPROJECTS = $@" \
  68.         $(recurse_vars))
  69.  
  70. always:
  71.  
  72. -include $(LOCAL_MAKEFILEDIR)/aggregate.make.postamble
  73.