[project @ 1999-05-11 17:05:43 by keithw]
[ghc-hetmet.git] / ghc / lib / std / Makefile
index 75140b8..02e279c 100644 (file)
@@ -23,7 +23,7 @@ endif
 #
 
 LIBRARY = libHS$(_way).a
-HS_SRCS        = $(wildcard *.lhs)
+HS_SRCS = $(wildcard *.lhs)
 HS_OBJS = $(HS_SRCS:.lhs=.$(way_)o)
 LIBOBJS = $(HS_OBJS)
 HS_IFACES= $(HS_SRCS:.lhs=.$(way_)hi) PrelGHC.$(way_)hi
@@ -32,7 +32,10 @@ HS_IFACES= $(HS_SRCS:.lhs=.$(way_)hi) PrelGHC.$(way_)hi
 #-----------------------------------------------------------------------------
 #      Setting the GHC compile options
 
-SRC_HC_OPTS += -recomp -cpp -fglasgow-exts -fvia-C -Rghc-timing $(GhcLibHcOpts)
+SRC_HC_OPTS += -recomp -cpp -fglasgow-exts -fvia-C -Rghc-timing $(GhcLibHcOpts) -fcompiling-prelude
+ifneq "$(way)" "dll"
+SRC_HC_OPTS += -static
+endif
 
 #
 # Profiling options
@@ -47,29 +50,27 @@ SRC_HC_OPTS += -hisuf $(way_)hi
 endif
 
 # per-module flags
-PrelArr_HC_OPTS     += -monly-2-regs
-Directory_HC_OPTS   += -monly-3-regs 
-Time_HC_OPTS        += -monly-3-regs -H16m
+PrelArrExtra_HC_OPTS     += -monly-2-regs
+Directory_HC_OPTS       += -monly-3-regs 
+Time_HC_OPTS            += -monly-3-regs
 
-# Far too much heap is needed to compile PrelNum with -O at the
+# Far too much heap is needed to compile PrelNumExtra with -O at the
 # moment, but there you go..
-PrelNum_HC_OPTS     += -H30m
-# Note: this option has to go in the Makefile rather than in an
-# OPTIONS line in the source file. The reason being that we want
-# to override the SRC_HC_OPTS of -O, and anything option coming
-# from the Makefile overrides what's in OPTIONS lines. (mumble_HC_OPTS
-# does override SRC_HC_OPTS settings)
-PrelUnsafe_HC_OPTS           += -Onot
+PrelNumExtra_HC_OPTS     += -H34m -K2m
 
+PrelPack_HC_OPTS        += -K4m
 PrelBase_HC_OPTS         += -H12m
-PrelRead_HC_OPTS         += -H13m
-PrelTup_HC_OPTS          += -H12m
+PrelRead_HC_OPTS         += -H20m
+PrelTup_HC_OPTS          += -H12m -K2m
+PrelNum_HC_OPTS                 += -H12m -K4m
 PrelArr_HC_OPTS          += -H8m
-PrelHandle_HC_OPTS       += -H12m
-Time_HC_OPTS             += -H8m
+PrelHandle_HC_OPTS       += -H20m
+Time_HC_OPTS             += -H24m -K2m
 Complex_HC_OPTS          += -H10m
 IO_HC_OPTS              += -H12m
 PrelMain_HC_OPTS        += -fno-prune-tydecls # avoids an apparent bug; ToDo
+List_HC_OPTS             += -H8m
+Directory_HC_OPTS        += -H8m
 
 #-----------------------------------------------------------------------------
 #      Dependency generation
@@ -84,6 +85,17 @@ PrelGHC.$(way_)hi    : PrelGHC.hi-boot
 
 boot :: PrelGHC.hi $(foreach way, $(WAYS), PrelGHC.$(way)_hi)
 
+DLL_NAME = HSprel.dll
+DLL_IMPLIB_NAME = libHS_imp.a
+SRC_BLD_DLL_OPTS += --export-all --output-def=HSprel.def
+SRC_BLD_DLL_OPTS += -lwinmm -lHSrts_imp -lHS_cbits_imp -lgmp -L. -L../../rts/gmp -L../../rts -Lcbits
+
+
+ifeq "$(way)" "dll"
+HS_SRCS := $(filter-out PrelMain.lhs, $(HS_SRCS))
+endif
+
+
 #-----------------------------------------------------------------------------
 #      Installation; need to install .hi files as well as libraries
 #
@@ -102,8 +114,3 @@ INSTALL_LIBS  += $(LIBRARY)
 INSTALL_DATAS += $(HS_IFACES)
 
 include $(TOP)/mk/target.mk
-
-glaExts/PackedString_HC_OPTS += -monly-3-regs
-concurrent/Parallel_HC_OPTS  += -fglasgow-exts
-glaExts/Int_HC_OPTS          += -H8m
-glaExts/Word_HC_OPTS         += -H8m