home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Makefiles / project / framework.make < prev    next >
Text File  |  1996-04-17  |  4KB  |  127 lines

  1. #
  2. #                              framework.make
  3. #
  4.  
  5. all:: framework
  6.  
  7. PRODUCT = $(PRODUCT_ROOT)/$(NAME)$(BUILD_TYPE_SUFFIX).$(TARGET_ARCH)$(BUNDLE_BINARY_EXT)
  8.  
  9. PROJECTTYPE_SPECIFIC_INITIAL_TARGETS = framework_initial_symlinks
  10.  
  11. include $(MAKEFILEDIR)/bundle-common.make
  12. -include $(LOCAL_MAKEFILEDIR)/framework.make.preamble
  13.  
  14. # Framework symlink-based versioning support:
  15.  
  16. VIRTUAL_PRODUCT = $(VIRTUAL_PRODUCT_ROOT)/$(NAME)$(BUILD_TYPE_SUFFIX)$(BUNDLE_BINARY_EXT)
  17. HEADERS_ROOT = $(PRODUCT_ROOT)/Headers
  18. PRIVATEHEADERS_ROOT = $(PRODUCT_ROOT)/PrivateHeaders
  19. VIRTUAL_RESOURCES_ROOT = $(VIRTUAL_PRODUCT_ROOT)/Resources
  20. VIRTUAL_HEADERS_ROOT = $(VIRTUAL_PRODUCT_ROOT)/Headers
  21. VIRTUAL_PRIVATEHEADERS_ROOT = $(VIRTUAL_PRODUCT_ROOT)/PrivateHeaders
  22. CURRENT_VERSION_ROOT = $(VIRTUAL_PRODUCT_ROOT)/Versions/Current
  23. VERSION_ROOT = $(VIRTUAL_PRODUCT_ROOT)/Versions
  24.  
  25. $(VERSION_ROOT):
  26.     @$(MKDIRS) $@
  27.  
  28. $(VIRTUAL_PRODUCT):
  29.     @($(RM) -f $@ ; \
  30.     cmd="$(SYMLINK) Versions/Current/$(NAME)$(BUILD_TYPE_SUFFIX) $@" ; \
  31.     $(ECHO) $$cmd; $$cmd)
  32.  
  33. $(VIRTUAL_RESOURCES_ROOT):
  34.     @($(RM) -f $@ ; \
  35.     cmd="$(SYMLINK) Versions/Current/Resources $@" ; \
  36.     $(ECHO) $$cmd; $$cmd)
  37.  
  38. $(VIRTUAL_HEADERS_ROOT):
  39.     @($(RM) -f $@ ; \
  40.     cmd="$(SYMLINK) Versions/Current/Headers $@" ; \
  41.     $(ECHO) $$cmd; $$cmd)
  42.  
  43. $(VIRTUAL_PRIVATEHEADERS_ROOT):
  44.     @($(RM) -f $@ ; \
  45.     cmd="$(SYMLINK) Versions/Current/PrivateHeaders $@" ; \
  46.     $(ECHO) $$cmd; $$cmd)
  47.  
  48. $(CURRENT_VERSION_ROOT):
  49.     @($(RM) -f $@ ; \
  50.     cmd="$(SYMLINK) $(DEPLOY_WITH_VERSION_NAME) $@" ; \
  51.     $(ECHO) $$cmd; $$cmd)
  52.  
  53. .PHONY : framework_symlinks framework_initial_symlinks after_installhdrs
  54.  
  55. framework_symlinks: $(VERSION_ROOT) $(VIRTUAL_PRODUCT) $(VIRTUAL_RESOURCES_ROOT) $(VIRTUAL_HEADERS_ROOT) $(VIRTUAL_PRIVATEHEADERS_ROOT) $(CURRENT_VERSION_ROOT)
  56.  
  57. framework_initial_symlinks:
  58.     @(if [ "$(CURRENTLY_ACTIVE_VERSION)" = "YES" -a \
  59.            "$(DISABLE_VERSIONING)" != "YES" ] ; then \
  60.         $(MAKE) framework_symlinks \
  61.         "VIRTUAL_PRODUCT_ROOT = $(SYMROOT)/$(NAME).framework" \
  62.         "BUILD_TYPE_SUFFIX = $(BUILD_TYPE_SUFFIX)" ; \
  63.     fi)
  64.  
  65. after_installhdrs::
  66.     @(if [ "$(CURRENTLY_ACTIVE_VERSION)" = "YES" -a \
  67.            "$(DISABLE_VERSIONING)" != "YES" ] ; then \
  68.         $(MAKE) framework_symlinks \
  69.         "VIRTUAL_PRODUCT_ROOT = $(DSTROOT)$(INSTALLDIR)/$(NAME).framework" \
  70.         "BUILD_TYPE_SUFFIX = $(BUILD_TYPE_SUFFIX)" ; \
  71.     fi)
  72.  
  73. # Framework-specific attributes:
  74.  
  75. PROJECT_TYPE_SPECIFIC_GARBAGE = $(SYMROOT)/$(NAME).framework \
  76.                    $(SYMROOT)/$(NAME).debug \
  77.                    $(SYMROOT)/$(NAME).profile
  78.  
  79. DYLIB_INSTALL_NAME = Versions/$(DEPLOY_WITH_VERSION_NAME)/$(NAME)$(BUILD_TYPE_SUFFIX)
  80. DYLIB_INSTALL_DIR = $(INSTALLDIR)/$(NAME).framework
  81.  
  82. projectType_specific_exported_vars = \
  83.     "BUILD_OFILES_LIST_ONLY = YES" \
  84.      "CODE_GEN_STYLE = $(CODE_GEN_STYLE)" \
  85.     "DEV_HEADER_DIR_BASE = $$header_base" \
  86.     "PRODUCT_ROOT = $$prod_root/Resources"
  87.  
  88. extra_configure_for_target_archs_exported_vars = \
  89.     "PRODUCT_ROOT = $$prod_root/$(REL_PRODUCT_ROOT)/Resources"
  90.  
  91. extra_finalize_install_exported_vars = \
  92.     "PRODUCT_ROOT = $(PRODUCT_ROOT)/Resources"
  93.  
  94. set_product_root = \
  95.     framework_ext="framework" ; \
  96.     if [ "$(DISABLE_VERSIONING)" = "YES" ] ; then \
  97.         product_root="$(NAME).framework" ; \
  98.     else \
  99.         product_root="$(NAME).framework/Versions/$(DEPLOY_WITH_VERSION_NAME)" ; \
  100.     fi
  101.  
  102. LINK_STYLE = DYLIB
  103.  
  104. DLL_DIR_NAME = Executables
  105.  
  106. before_install::
  107.     @(if [ "$(PLATFORM_OS)" = "winnt" ] ; then \
  108.         $(RM) -rf $(DSTROOT)$(INSTALLDIR)/../$(DLL_DIR_NAME)/$(NAME)*.dll ; \
  109.     fi)
  110.  
  111. finalize_install::
  112.     @(if [ "$(PLATFORM_OS)" = "winnt" ] ; then \
  113.         $(MKDIRS) $(DSTROOT)$(INSTALLDIR)/../$(DLL_DIR_NAME) ; \
  114.         cmd="$(MV) $(PRODUCT_ROOT)/$(NAME).dll $(DSTROOT)$(INSTALLDIR)/../$(DLL_DIR_NAME)/" ; \
  115.         echo $$cmd ; $$cmd ; \
  116.             if [ -r $(PRODUCT_ROOT)/$(NAME)$(DEBUG_BUILD_TYPE_SUFFIX).dll ] ; then \
  117.         cmd="$(MV) $(PRODUCT_ROOT)/$(NAME)$(DEBUG_BUILD_TYPE_SUFFIX).dll $(DSTROOT)$(INSTALLDIR)/../$(DLL_DIR_NAME)/" ; \
  118.         echo $$cmd ; $$cmd ; \
  119.         fi ; \
  120.             if [ -r $(PRODUCT_ROOT)/$(NAME)$(PROFILE_BUILD_TYPE_SUFFIX).dll ] ; then \
  121.         cmd="$(MV) $(PRODUCT_ROOT)/$(NAME)$(PROFILE_BUILD_TYPE_SUFFIX).dll $(DSTROOT)$(INSTALLDIR)/../$(DLL_DIR_NAME)/" ; \
  122.         echo $$cmd ; $$cmd ; \
  123.         fi ; \
  124.     fi)
  125.  
  126. -include $(LOCAL_MAKEFILEDIR)/framework.make.postamble
  127.