X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=Makefile;h=b89257fe3804d37dc0fbb8b21259a616cc5406fa;hp=527707148aacdff75df6735e57a516490f1ad4bf;hb=c72f2cb1f7eb299f9289b7a33233174d470cfa0f;hpb=c222ce6d2dcde7dcef36d95fc225fd65d56bdb63 diff --git a/Makefile b/Makefile index 5277071..b89257f 100644 --- a/Makefile +++ b/Makefile @@ -37,6 +37,14 @@ # 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