X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Frunghc%2FMakefile;h=ef55c320a0c61e4a3acc2eb5b607143cc92f67fc;hb=2d0131da643d1f8da16816c672b7e29defcf2a2d;hp=c1a94c799a3b6ca429b9f83410dd8a57b35a69aa;hpb=bc49cbd35e1b9a75ef05de610f845de7bbfef90d;p=ghc-hetmet.git diff --git a/utils/runghc/Makefile b/utils/runghc/Makefile index c1a94c7..ef55c32 100644 --- a/utils/runghc/Makefile +++ b/utils/runghc/Makefile @@ -1,32 +1,45 @@ TOP=../.. include $(TOP)/mk/boilerplate.mk -HS_PROG = runghc$(exeext) +# Beyond stage 1, honour any Mac OS X depolyment target options. If we use +# these options in stage 1 we get a linker error if the bootstrap compiler is +# for a more recent OS version +ifeq "$(stage)" "2" +SRC_CC_OPTS += $(MACOSX_DEPLOYMENT_CC_OPTS) +SRC_HC_OPTS += $(addprefix -optc, $(MACOSX_DEPLOYMENT_CC_OPTS)) +SRC_LD_OPTS += $(addprefix -optl, $(MACOSX_DEPLOYMENT_LD_OPTS)) +endif + +# We have two version: the inplace version compiled by the bootstrap compiler +# and the install version compiled by the stage 1 compiler +ifeq "$(stage)" "2" +HS_PROG = runghc$(exeext) +else +HS_PROG = runghc-inplace$(exeext) +endif INSTALL_PROGS += $(HS_PROG) UseGhcForCc = YES SRC_MKDEPENDC_OPTS += -I$(GHC_INCLUDE_DIR) -# This causes libghccompat.a to be used: -include $(GHC_COMPAT_DIR)/compat.mk +SRC_HC_OPTS += -Wall -# This is required because libghccompat.a must be built with -# $(GhcHcOpts) because it is linked to the compiler, and hence -# we must also build with $(GhcHcOpts) here: -SRC_HC_OPTS += $(GhcHcOpts) $(GhcStage1HcOpts) +RUNHASKELL_PROG = runhaskell$(exeext) +all :: $(RUNHASKELL_PROG) -all :: runhaskell +$(RUNHASKELL_PROG) : $(HS_PROG) + $(CP) $< $(RUNHASKELL_PROG) -runhaskell : $(HS_PROG) - $(CP) $< runhaskell$(exeext) +CLEAN_FILES += $(RUNHASKELL_PROG) -CLEAN_FILES += runhaskell - -# Only install runhaskell if there isn't already one installed -ifneq "$(findstring install, $(MAKECMDGOALS))" "" -ifeq "$(wildcard $(bindir)/runhaskell)" "" -INSTALL_PROGS += runhaskell$(exeext) -endif +ifneq "$(NO_INSTALL_RUNHASKELL)" "YES" +INSTALL_PROGS += $(RUNHASKELL_PROG) endif +binary-dist:: + $(INSTALL_DIR) $(BIN_DIST_DIR)/utils/runghc + $(INSTALL_DATA) Makefile $(BIN_DIST_DIR)/utils/runghc/ + $(INSTALL_PROGRAM) $(HS_PROG) $(BIN_DIST_DIR)/utils/runghc/ + $(INSTALL_PROGRAM) $(RUNHASKELL_PROG) $(BIN_DIST_DIR)/utils/runghc/ + include $(TOP)/mk/target.mk