home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Makefiles / pb_makefiles / compatibility.make < prev    next >
Text File  |  1997-02-07  |  3KB  |  110 lines

  1. #
  2. # compatibility.make
  3. #
  4. # This file provides backward-compatibility with projects which used to
  5. # be built using project_makefiles.  If you have not used any internal
  6. # makefile api, then your old-style projects should build if this makefile
  7. # is included.  If you have used internal api, careful examination of your
  8. # product should indicate what changes are necessary for it to build both
  9. # under project_makefiles and pb_makefiles.
  10. #
  11.  
  12. #
  13. # Variables on LHS are used by the client
  14. #
  15.  
  16. SYM_DIR = $(SFILE_DIR)
  17. DERIVED_SRC_DIR = $(SFILE_DIR)
  18. PRODUCT_ROOT = $(PRODUCT_DIR)
  19. RESOURCES_ROOT = $(GLOBAL_RESOURCE_DIR)
  20.  
  21. #
  22. # Variables on RHS are defined by the client
  23. #
  24.  
  25. OTHER_YFLAGS = $(YFLAGS)
  26. OTHER_LFLAGS = $(LFLAGS)
  27. OTHER_PSWFLAGS = $(PSWFLAGS)
  28. OTHER_RPCFLAGS = $(RPCFLAGS)
  29. LOCAL_LDFLAGS += $(OTHER_LIBTOOL_FLAGS)
  30. OTHER_STRIPFLAGS += $(APP_STRIP_OPTS)
  31. PROFILE_BUILD_LIBS = $(PROF_LIBS)
  32. V = $(VAR_NAME)
  33. ifeq "" "$(VERSION_NAME)"
  34. VERSION_NAME = $(DEPLOY_WITH_VERSION_NAME)
  35. endif
  36. ifeq "" "$(VERSION_NAME)"
  37. VERSION_NAME = UNSPECIFIED
  38. endif
  39. INCLUDED_OSS = $(INCLUDED_PLATFORMS)
  40. INCLUDED_OSS := $(subst winnt,WINDOWS,$(INCLUDED_OSS))
  41. INCLUDED_OSS := $(subst nextstep,NEXTSTEP,$(INCLUDED_OSS))
  42. INCLUDED_OSS := $(subst hpux,HPUX,$(INCLUDED_OSS))
  43. INCLUDED_OSS := $(subst solaris,SOLARIS,$(INCLUDED_OSS))
  44. EXCLUDED_OSS = $(EXCLUDED_PLATFORMS)
  45. EXCLUDED_OSS := $(subst winnt,WINDOWS,$(EXCLUDED_OSS))
  46. EXCLUDED_OSS := $(subst nextstep,NEXTSTEP,$(EXCLUDED_OSS))
  47. EXCLUDED_OSS := $(subst hpux,HPUX,$(EXCLUDED_OSS))
  48. EXCLUDED_OSS := $(subst solaris,SOLARIS,$(EXCLUDED_OSS))
  49. ifneq "" "$($(OS)_PUBLIC_HEADERS_DIR)"
  50. PUBLIC_HEADER_DIR = $($(OS)_PUBLIC_HEADERS_DIR)
  51. endif
  52. ifneq "" "$(PUBLIC_HEADER_DIR)"
  53. PUBLIC_HDR_INSTALLDIR = $(PUBLIC_HEADER_DIR)
  54. endif
  55. ifneq "" "$(PRIVATE_HEADER_DIR)"
  56. PRIVATE_HDR_INSTALLDIR = $(PRIVATE_HEADER_DIR)
  57. endif
  58. BEFORE_BUILD_RECURSION += $(OTHER_INITIAL_TARGETS)
  59. ifeq "YES" "$(SKIP_EXPORTING_HEADERS)"
  60. SKIP_PREBUILD = YES
  61. endif
  62.  
  63. #
  64. # Variables the client should provide, but doesn't
  65. #
  66.  
  67. include $(MAKEFILEDIR)/platform.make
  68. ALL_SUBPROJECTS := $(LIBRARIES) $(LIBRARY_SUBPROJECTS) $(FRAMEWORK_SUBPROJECTS) $(SUBPROJECTS) $(BUNDLES) $(TOOLS)  $(PALETTES) $(AGGREGATES) $(LEGACIES)
  69. YFILES := $(filter %.y, $(OTHERLINKED))
  70. LFILES := $(filter %.l, $(OTHERLINKED))
  71. OTHERLINKED := $(filter-out %.y, $(OTHERLINKED))
  72. OTHERLINKED := $(filter-out %.l, $(OTHERLINKED))
  73.  
  74. #
  75. # Targets are invoked/depended on by the client
  76. #
  77.  
  78. #
  79. # Dependencies are provided by the client
  80. #
  81.  
  82. .PHONY: before_install after_install
  83. echo_makefile_variable: sv
  84. BEFORE_INSTALL += _before_install $(OTHER_INSTALL_DEPENDS)
  85. _before_install: before_install # silly _ required because before_install was :: rule
  86. AFTER_INSTALL += _after_install
  87. _after_install: after_install   # similar silliness
  88.  
  89. #
  90. # we need this hack because libtool on NT does not work without arch_only
  91. #
  92.  
  93. ifeq "WINDOWS" "$(OS)"
  94. ifeq "LIBRARY" "$(PROJTYPE)"
  95. PROJTYPE_LDFLAGS += -arch_only $(ARCH)
  96. endif
  97. ifeq "FRAMEWORK" "$(PROJTYPE)"
  98. PROJTYPE_LDFLAGS += -arch_only $(ARCH)
  99. endif
  100. endif
  101.  
  102. #
  103. # Old NeXT-internal projects use SGS, so set this for backward-compatibility.
  104. #
  105.  
  106. ifndef VERSIONING_SYSTEM
  107. VERSIONING_SYSTEM = next-sgs
  108. endif
  109.  
  110.