[project @ 2005-02-15 11:39:52 by simonmar]
[ghc-hetmet.git] / ghc / rts / Makefile
index 718e00f..73ba68f 100644 (file)
@@ -146,6 +146,9 @@ SUBDIRS += dotnet
 LIBOBJS += dotnet/Invoke.o
 endif
 
+# Suppress uninitialized variable warnings for GC.c
+GC_CC_OPTS     += -Wno-uninitialized
+
 #-----------------------------------------------------------------------------
 # Include the Front panel code?
 
@@ -184,7 +187,7 @@ AUTO_APPLY_CMM = AutoApply$(_way).cmm
 ifneq "$(BootingFromHc)" "YES"
 $(AUTO_APPLY_CMM): $(GHC_GENAPPLY)
        @$(RM) $@
-       $(GHC_GENAPPLY) $(if $(filter u,$(way)), -u) >$@
+       $(GHC_GENAPPLY) $(if $(filter $(way), u debug_u), -u) >$@
 endif
 
 EXTRA_CMM_SRCS += $(AUTO_APPLY_CMM)
@@ -225,11 +228,16 @@ endif
 ifneq "$(HaveLibGmp)" "YES"
 ifneq "$(HaveFrameworkHaskellSupport)" "YES"
 boot ::
-       cd gmp && CC=$(WhatGccIsCalled) ./configure --enable-shared=no \
-               --host=`echo $(HOSTPLATFORM) | sed 's/i[567]86/i486/g'`
+       if [ -f gmp/config.status ]; then \
+          cd gmp && CC=$(WhatGccIsCalled) ./config.status; \
+        else \
+          cd gmp && CC=$(WhatGccIsCalled) ./configure --enable-shared=no \
+                       --host=`echo $(HOSTPLATFORM) | sed 's/i[567]86/i486/g'`; \
+       fi
 
 # Slight cheatage here to pass host as target, but x-compilation isn't supported by ghc.
 
+ifeq "$(way)" ""
 all :: gmp/libgmp.a
 
 ifeq "$(DLLized)" "YES"
@@ -239,6 +247,7 @@ $(DLL_PEN)/gmp.dll:
        $(MAKE) -C gmp gmp.dll
        $(MV) gmp/gmp.dll $(DLL_PEN)
 endif
+endif
 
 install :: gmp/libgmp.a
 
@@ -285,6 +294,7 @@ endif
 
 # ToDo: should we really include Rts.h here?  Required for GNU_ATTRIBUTE().
 SRC_HC_OPTS += \
+  -I. \
   -\#include Prelude.h \
   -\#include Rts.h \
   -\#include RtsFlags.h \
@@ -293,6 +303,7 @@ SRC_HC_OPTS += \
   -\#include Schedule.h \
   -\#include Printer.h \
   -\#include Sanity.h \
+  -\#include STM.h \
   -\#include Storage.h \
   -\#include SchedAPI.h \
   -\#include Timer.h \
@@ -312,6 +323,7 @@ SRC_HC_OPTS += -fvia-C
 # We *want* type-checking of hand-written cmm.
 SRC_HC_OPTS += -dcmm-lint 
 
+ifneq "$(BootingFromHc)" "YES"
 # .cmm files depend on all the .h files, to a first approximation.
 %.$(way_)o : %.cmm $(H_FILES)
        $(HC_PRE_OPTS)
@@ -327,6 +339,7 @@ SRC_HC_OPTS += -dcmm-lint
        $(HC_PRE_OPTS)
        $(HC) $(HC_OPTS) -S $< -o $@
        $(HC_POST_OPTS)
+endif
 
 #-----------------------------------------------------------------------------
 #