#
# Makefile for building the GHC Prelude libraries umpteen ways
#
-# $Id: Makefile,v 1.5 1997/03/14 05:30:36 sof Exp $
+# $Id: Makefile,v 1.9 1997/05/18 04:27:38 sof Exp $
#
#
#################################################################################
HS_SRCS = $(foreach d, $(LIB_DIRS), $(wildcard $(d)/*.lhs))
HS_OBJS = $(HS_SRCS:.lhs=.$(way_)o)
LIBOBJS = $(HS_OBJS)
-HS_IFACES= $(HS_SRCS:.lhs=.$(way_)hi) ghc/GHC.hi
+HS_IFACES= $(HS_SRCS:.lhs=.$(way_)hi) ghc/GHC.$(way_)hi
#-----------------------------------------------------------------------------
# Setting the GHC compile options
# per-module flags
-ghc/PackedString_HC_OPTS = -monly-3-regs
-required/Directory_HC_OPTS = -monly-3-regs
-concurrent/Parallel_HC_OPTS = -fglasgow-exts
+ghc/PackedString_HC_OPTS += -monly-3-regs
+required/Directory_HC_OPTS += -monly-3-regs
+concurrent/Parallel_HC_OPTS += -fglasgow-exts
+required/Time_HC_OPTS += -monly-3-regs
#-----------------------------------------------------------------------------
# Dependency generation
-SRC_MKDEPENDHS_OPTS += -irequired:ghc:hbc:glaExts:concurrent
+SRC_MKDEPENDHS_OPTS += -ighc:required:glaExts:concurrent -I$(GHC_INCLUDE_DIR)
#-----------------------------------------------------------------------------
# Rules
HIBOOTS=GHC Main IOBase
+# Use variable to control this, so that we can generate
+# new boot interface files for new ways without having
+# to re-generate the old lot (followed by complete recompile).
+#
+HIBOOT_WAYS = norm $(WAYS)
+
hi-boot :
- @for i in norm $(WAYS); do \
+ @for i in $(HIBOOT_WAYS); do \
echo "Booting interface files for way $$i "; \
if [ "$$i" != "norm" ]; then \
j="$${i}_hi"; \