# -----------------------------------------------------------------------------
-# $Id: Makefile,v 1.106 2000/11/02 14:27:02 simonmar Exp $
+# $Id: Makefile,v 1.115 2000/11/19 18:39:53 simonmar 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..
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"
# Avoids Bug in 3.02, it seems
usageSP/UsageSPInf_HC_OPTS = -Onot
-prelude/PrimOp_HC_OPTS = -H12m -K3m
+prelude/PrimOp_HC_OPTS = -H12m -K3m -no-recomp
# because the NCG can't handle the 64-bit math in here
prelude/PrelRules_HC_OPTS = -fvia-C
# separate bugfix to the fixpoint finder.
simplStg/UpdAnal_HC_OPTS = -fno-strictness
-stgSyn/StgInterp_HC_OPTS = -fvia-C
+ghci/StgInterp_HC_OPTS = -fvia-C
# ----------------------------------------------------------------------------
# C compilations
#
# 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
#-----------------------------------------------------------------------------
# Extra tidy, remove the .hc files (if you've got them).
MAINTAINER_CLEAN_FILES += $(wildcard */*.hc) \
+ parser/Parser.info rename/ParseIface.info \
parser/Parser.hs rename/ParseIface.hs
-
#-----------------------------------------------------------------------------
# TAGS setup