X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FMakefile;h=0bb394c3854a4219865657074072740f12b97ec1;hb=33939049908879995854acac39c3c85e250d1f9a;hp=ad5d6dad2758dd2cd2aab811797d17a04abbd856;hpb=33362962fa2c0cccee533b6cbe36f5cd2b049c8a;p=ghc-hetmet.git diff --git a/ghc/compiler/Makefile b/ghc/compiler/Makefile index ad5d6da..0bb394c 100644 --- a/ghc/compiler/Makefile +++ b/ghc/compiler/Makefile @@ -1,5 +1,5 @@ # ----------------------------------------------------------------------------- -# $Id: Makefile,v 1.34 1998/02/25 19:48:54 sof Exp $ +# $Id: Makefile,v 1.38 1998/04/16 10:04:12 sof Exp $ TOP = .. include $(TOP)/mk/boilerplate.mk @@ -66,23 +66,15 @@ HS_SRCS = $(SRCS_UGNHS) \ # NB: it's no good to include *.hs in the top-line wildcard, because the .hs files # in parser/ may not have been created at that point. - HCS = $(patsubst %.lhs, %.hc, $(patsubst %.hs, %.hc, $(HS_SRCS))) -# -# When booting using a ghc-2.xx compiler, the loop breakers are actually written in -# Haskell, source stubs just re-exporting info from the various .hi-boot files. -# (Reason: we don't want to fiddle with the imports in the sources). We give them -# the suffix .hs, since they're special and don't fall under the umbrella of $(HS_SRCS) -MKDEPENDHS_SRCS = $(HS_SRCS) - HS_OBJS = \ $(patsubst %.hc, %.o, $(HCS)) \ parser/hsclink.o parser/hschooks.o libhsp.a -DESTDIR = $(INSTALL_LIBRARY_DIR_GHC) +DESTDIR = $(INSTALL_LIBRARY_DIR_GHC) SRCS_UGN = $(wildcard parser/*.ugn) SRCS_UGNC = $(patsubst %.ugn, %.c, $(SRCS_UGN)) @@ -112,9 +104,15 @@ SRC_DIST_FILES += rename/ParseIface.hs \ # ----------------------------------------------------------------------------- # Haskell compilations -# Compiler to use for building hsc # +# Compiler to use for building hsc, use the build tree +# driver when booting. +# +ifneq "$(GhcWithHscBuiltViaC)" "YES" HC=$(WithGhcHc) +else +HC=$(GHC_DRIVER_DIR)/ghc +endif # magic from GNU make manual to convert a list of values # into a colon-separated list @@ -126,8 +124,6 @@ SRC_HC_OPTS += \ -I. -IcodeGen -InativeGen -Iparser \ -i$(subst $(space),:,$(DIRS)) -# -syslib ghc just needed for use of PackedString.hPutPS - SRC_CC_OPTS += -Iparser -I. -I$(TOP)/includes -O SRC_HC_OPTS += -recomp $(GhcHcOpts) @@ -136,16 +132,13 @@ SRC_HC_OPTS += -recomp $(GhcHcOpts) # The standard suffix rule for compiling a Haskell file # adds these flags to the command line -absCSyn/AbsCSyn_HC_OPTS = -fno-omit-reexported-instances absCSyn/CStrings_HC_OPTS = -monly-3-regs # Was 6m with 2.10 absCSyn/PprAbsC_HC_OPTS = -H10m basicTypes/IdInfo_HC_OPTS = -K2m -coreSyn/AnnCoreSyn_HC_OPTS = -fno-omit-reexported-instances hsSyn/HsExpr_HC_OPTS = -K2m -hsSyn/HsSyn_HC_OPTS = -fno-omit-reexported-instances main/Main_HC_OPTS = -fvia-C -DPROJECTVERSION=$(GhcProjectVersion) main/MkIface_HC_OPTS = -DPROJECTVERSION=$(GhcProjectVersionInt) main/CmdLineOpts_HC_OPTS = -fvia-C @@ -172,6 +165,7 @@ reader/Lex_HC_OPTS = -K2m -H16m -fvia-C -DPROJECTVERSION=$(GhcProjectVersionInt reader/ReadPrefix_HC_OPTS = -fvia-C '-\#include"hspincl.h"' -H10m rename/ParseIface_HC_OPTS += -Onot -H30m -fno-warn-incomplete-patterns +rename/ParseIface_HAPPY_OPTS += -g ifeq "$(TARGETPLATFORM)" "hppa1.1-hp-hpux9" rename/RnMonad_HC_OPTS = -fvia-C -O2 -O2-for-C @@ -183,10 +177,7 @@ rename/RnIfaces_HC_OPTS = -H8m -fvia-C rename/RnExpr_HC_OPTS = -H10m rename/RnNames_HC_OPTS = -H12m rename/RnMonad_HC_OPTS = -fvia-C -# Urk! Really big heap for ParseUnfolding -#rename/ParseUnfolding_HC_OPTS = -H45m specialise/Specialise_HC_OPTS = -Onot -H12m -stgSyn/StgSyn_HC_OPTS = -fno-omit-reexported-instances typecheck/TcGenDeriv_HC_OPTS = -H10m # Was 10m for 2.10 @@ -200,7 +191,7 @@ utils/Argv_HC_OPTS = -fvia-C -monly-3-regs utils/SST_HC_OPTS = -fvia-C utils/PrimPacked_HC_OPTS = -fvia-C -monly-3-regs utils/FastString_HC_OPTS = -fvia-C -monly-3-regs -utils/StringBuffer_HC_OPTS = -fvia-C +utils/StringBuffer_HC_OPTS = -fvia-C -fno-prune-tydecls utils/Digraph_HC_OPTS = -fglasgow-exts -fvia-C utils/Outputable_HC_OPTS = -monly-3-regs @@ -216,10 +207,12 @@ SRC_C_OPTS += -O -Iparser -I. -IcodeGen # ---------------------------------------------------------------------------- -# Parsers +# Parsers/lexers # Main parser uses Yacc/Bison SRC_YACC_OPTS += -d -v +# Suppress the generation of a default rule +SRC_FLEX_OPTS += -s # # Want to keep the intermediate (included in src distribs). @@ -272,19 +265,6 @@ INSTALL_LIBEXECS += hsc hsp # depend :: $(LOOPS) $(SRCS_UGNHS) rename/ParseIface.hs - -ifeq "$(GhcWithHscBuiltViaC)" "YES" -SRC_MKDEPENDHS_OPTS += -optdep-o -optdephc - -# When booting from .hc, (hackily) remove the suffix rule for -# .l?hs -> .o, so that the .hc -> .o is used instead. -%.$(way_)o : %.lhs -%.$(way_)o : %.hs -else - SRCS_MKDEPENDHS = $(SRCS_HC) # should add $(LOOPS) ? -endif - - #----------------------------------------------------------------------------- # clean