[project @ 2001-09-08 21:42:07 by sof]
authorsof <unknown>
Sat, 8 Sep 2001 21:42:07 +0000 (21:42 +0000)
committersof <unknown>
Sat, 8 Sep 2001 21:42:07 +0000 (21:42 +0000)
Remove ugly special casing - if you want to turn off the
default rule for GHCI_LIBRARY, set DONT_WANT_STD_GHCI_LIB_RULE
to YES in your Makefile prior to including $(TOP)/mk/target.mk

ghc/lib/std and hslibs/win32 both do this now on mingw32.

ghc/lib/std/Makefile
mk/target.mk

index 24c9afe..0fdeebc 100644 (file)
@@ -111,21 +111,21 @@ GHCI_LIBOBJS = $(filter-out PrelMain.$(way_)o,$(HS_OBJS))
 
 
 ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
-#              Standard rule
-HSstd.o :: $(GHCI_LIBOBJS)
-       ld -r -x -o $@ $(GHCI_LIBOBJS)
-
+LIBOBJS=$(GHCI_LIBOBJS)
 else
 #              Rule for Win32 platform
 # Keep HSstd.o as a pseudo-target (I think)
+
+# Turn off standard rule which creates HSstd.o from LIBOBJS.
+DONT_WANT_STD_GHCI_LIB_RULE=YES
+
 HSstd.o :: $(GHCI_LIBOBJS)
        ld -r -x -o HSstd1.o $(filter     Prel%, $(GHCI_LIBOBJS))
        ld -r -x -o HSstd2.o $(filter-out Prel%, $(GHCI_LIBOBJS))
+       @touch HSstd.o
 endif # TARGETPLATFORM = i386-unknown-mingw32
 
 
-
-
 #-----------------------------------------------------------------------------
 #      Installation; need to install .hi files as well as libraries
 #
index 448b077..dd2ddcb 100644 (file)
@@ -515,22 +515,15 @@ CLEAN_FILES += $(GHCI_LIBRARY)
 
 all :: $(GHCI_LIBRARY)
 
-# How come GNU make doesn't support ands and ors?  Duh.
-ifneq "$(GHCI_LIBRARY)" "HSstd.o"
-ifneq "$(GHCI_LIBRARY)" "HSwin32.o"
-# An annoying gotcha is that the Prelude is a bit special,
-# for reasons described in ghc/lib/std/Makefile.
-# So we only put in this standard rule for packages other than std
-# The rule for the Prelude is in ghc/lib/std/Makefile
-# We check for GHCI_LIBRARY being HSstd.o rather than
-# PACKAGE being std, because we want to still use the boilerplate rule 
-# for cbits.
-# JRS 04 Sept 01: The exact same deal applies to hslibs/HSwin32.o.
+ifneq "$(DONT_WANT_STD_GHCI_LIB_RULE)" "YES"
+# If you don't want to build GHCI_LIBRARY the 'standard' way,
+# set DONT_WANT_STD_GHCI_LIB_RULE to YES. The Prelude and
+# hslibs/Win32 uses this 'feature'.
+#
 $(GHCI_LIBRARY) :: $(LIBOBJS)
        ld -r -x -o $@ $(LIBOBJS) $(STUBOBJS)
 
-endif # GHCI_LIBRARY != "HSwin32.o"
-endif # GHCI_LIBRARY != "HSstd.o"
+endif # DONT_WANT_STD_GHCI_LIB_RULE
 endif # GhcWithInterpreter
 endif # way
 endif # GHCI_LIBRARY != ""