# -----------------------------------------------------------------------------
-# $Id: Makefile,v 1.110 2000/11/07 14:01:53 simonmar Exp $
+# $Id: Makefile,v 1.118 2000/12/11 16:42:26 sewardj Exp $
TOP = ..
include $(TOP)/mk/boilerplate.mk
@echo "cProjectName = \"$(ProjectName)\"" >> $(CONFIG_HS)
@echo "cProjectVersion = \"$(ProjectVersion)\"" >> $(CONFIG_HS)
@echo "cProjectVersionInt = \"$(ProjectVersionInt)\"" >> $(CONFIG_HS)
+ @echo "cBooterVersion = \"$(GhcVersion)\"" >> $(CONFIG_HS)
@echo "cHscIfaceFileVersion = \"$(HscIfaceFileVersion)\"" >> $(CONFIG_HS)
@echo "cHOSTPLATFORM = \"$(HOSTPLATFORM)\"" >> $(CONFIG_HS)
@echo "cTARGETPLATFORM = \"$(TARGETPLATFORM)\"" >> $(CONFIG_HS)
# -----------------------------------------------------------------------------
-# Set SRCS, LOOPS, HCS, OBJS
+# Set SRCS, HCS, OBJS
#
# First figure out DIRS, the source sub-directories
# Then derive SRCS by looking in them
ifeq "$(GhcWithInterpreter)" "YES"
ghc_409_at_least = $(shell expr "$(GhcMinVersion)" \>= 9)
ifeq "$(ghc_409_at_least)" "1"
-SRC_HC_OPTS += -DGHCI
+SRC_HC_OPTS += -DGHCI -optc-DGHCI
DIRS += ghci
endif
endif
HS_SRCS = $(foreach dir,$(DIRS),$(wildcard $(dir)/*.lhs) $(wildcard $(dir)/*.hs))
-# ToDo: not clear why this is here -- messes up linking
-#ifneq "$(GhcWithHscBuiltViaC)" "YES"
-#HS_SRCS += rename/ParseIface.hs parser/Parser.hs
-#endif
-
HCS = $(patsubst %.lhs, %.hc, $(patsubst %.hs, %.hc, $(HS_SRCS)))
# ParseIface.hs ain't part of HS_SRCS when this is on..
SRC_HC_OPTS += \
-cpp -fglasgow-exts \
- -Rghc-timing -I. -IcodeGen -InativeGen -Iparser \
+ -I. -IcodeGen -InativeGen -Iparser \
-i$(subst $(space),:,$(DIRS))
ghc_407_at_least = $(shell expr "$(GhcMinVersion)" \>= 7)
ifeq "$(ghc_407_at_least)" "1"
ifneq "$(mingw32_TARGET_OS)" "1"
-SRC_HC_OPTS += -package concurrent -package posix -package text
+SRC_HC_OPTS += -package concurrent -package posix -package text -package util
else
-SRC_HC_OPTS += -package concurrent -package text
+SRC_HC_OPTS += -package concurrent -package text -package util
endif
else
-SRC_HC_OPTS += -syslib concurrent -syslib posix -syslib misc
+SRC_HC_OPTS += -syslib concurrent -syslib posix -syslib misc -syslib util
endif
SRC_CC_OPTS += -Iparser -I. -I$(TOP)/includes -O
basicTypes/IdInfo_HC_OPTS = -K2m
codeGen/CgCase_HC_OPTS = -fno-prune-tydecls
hsSyn/HsExpr_HC_OPTS = -K2m
-main/Main_HC_OPTS =
+main/Main_HC_OPTS = -fvia-C
ifneq "$(GhcWithHscBuiltViaC)" "YES"
ifeq "$(GhcReportCompiles)" "YES"
# We need -optC here because the driver before 3.02 didn't understand
# the -funfolding flags.
-utils/PrimPacked_HC_OPTS = -fvia-C -monly-3-regs -optC-funfolding-interface-threshold7
+utils/PrimPacked_HC_OPTS = -fvia-C -monly-3-regs -funfolding-interface-threshold7
# Strictness analyser misbehaving in 2.10, fails to terminate on
# UpdAnal.lhs due to weird recursive datatype. Bug was exposed by a
#
# Before doing `make depend', need to build all derived Haskell source files
#
-depend :: $(LOOPS)
-
ifneq "$(GhcWithHscBuiltViaC)" "YES"
-depend :: rename/ParseIface.hs
+depend :: rename/ParseIface.hs parser/Parser.hs
endif
#-----------------------------------------------------------------------------