xcode build target for fixed /Library/Frameworks inst
[ghc-hetmet.git] / Makefile
index 5277071..b89257f 100644 (file)
--- a/Makefile
+++ b/Makefile
 #      binary-dist
 #              Builds a binary distribution
 #
+#      framework-pkg  [MacOS only]
+#              Builds /Library/Frameworks/GHC.framework wrapped into a Mac
+#              installer package
+#
+#      framework-binary-dist  [MacOS only]
+#              Builds GHC.framework encapsulating a binary distribution
+#              (to give a relocatable framework)
+#
 #      hc-file-bundle
 #              Builds an HC-file bundle, for bootstrapping
 #
@@ -227,7 +235,7 @@ install-docs ::
 # -----------------------------------------------------------------------------
 # Making a binary distribution
 #
-# `dist' `binary-dist' `binary-dist-macos'
+# `dist' `binary-dist'
 #      Create a distribution tar file for this program. The tar file
 #      should be set up so that the file names in the tar file start with
 #      a subdirectory name which is the name of the package it is a
@@ -244,9 +252,7 @@ install-docs ::
 #      that are in the distribution, to make sure they are up to date in
 #      the distribution. See Making Releases.
 #
-#      binary-dist is a GHC addition for binary distributions and
-#      binary-dist-macos is the Mac OS X-specific variant creating an
-#      installer package for GHC.framework.
+#      binary-dist is a GHC addition for binary distributions
 # 
 
 binary-dist::
@@ -301,7 +307,7 @@ ifeq "$(darwin_TARGET_OS)" "1"
 BIN_DIST_TOP+=mk/fix_install_names.sh
 endif
 
-.PHONY: binary-dist-pre% binary-dist binary-dist-macos
+.PHONY: binary-dist-pre% binary-dist
 
 binary-dist:: binary-dist-pre
 
@@ -419,36 +425,26 @@ publish-binary-dist ::
 binary-dist::
        @echo "Mechanical and super-natty! Inspect the result and *if* happy; freeze, sell and get some sleep!"
 
+# -----------------------------------------------------------------------------
+# Building MacOS installer packages
+#
+# 'framework-pkg'
+#      Create an installer package for /Library/Frameworks/GHC.framework
+#
+# 'framework-binary-dist'
+#      Create an installer package for GHC.framework encapsulating a
+#      binary-dist to make it relocatable
+#      FIXME: This is only partially implemented so far
+
 ifeq "$(darwin_TARGET_OS)" "1"
 
-# Wrap a binary dist as a MacOS framework and put it into an installer package.
-
-# The ProjectVersionInt is GHC's idea of an API version and hence determines
-# the framework version.
-FRAMEWORK_VERSION = $(ProjectVersionInt)
-
-# Xcode requires CURRENT_PROJECT_VERSION to be an int or float.  We use this
-# only as the build version (aka CFBundleVersion).
-CURRENT_PROJECT_VERSION = $(ProjectVersionInt).$(ProjectPatchLevel)
-
-# The user-visible CFBundleShortVersionString is set to the standard GHC 
-# version number.
-SHORT_VERSION_STRING = $(ProjectVersion)
-
-# Instead of making 'binary-dist' a Makefile dependency, we let xcodebuild call
-# 'make binary-dist'.  This has the advantage that xcode knows the framework
-# path into which the distribution should be installed and can instruct 
-# binary-dist to put it into the right place without copying the whole tree yet
-# another time.
-#
-binary-dist-macos:
-       (cd distrib/MacOS; \
-        xcodebuild CURRENT_PROJECT_VERSION=$(CURRENT_PROJECT_VERSION)\
-                   SHORT_VERSION_STRING=$(SHORT_VERSION_STRING)\
-                   FRAMEWORK_VERSION=$(FRAMEWORK_VERSION)\
-                   CURRENT_LIBRARY_VERSION=$(FRAMEWORK_VERSION))
-       (cd distrib/MacOS; \
-        !!!Call the packager!!! )
+.PHONY: framework-pkg, framework-binary-dist
+
+framework-pkg:
+       $(MAKE) -C distrib/MacOS framework-pkg
+
+framework-binary-dist:
+       $(MAKE) -C distrib/MacOS framework-binary-dist
 
 endif