Make two type defaults explicit
[packages/base.git] / Makefile.nhc98
index 88cc7de..54aab94 100644 (file)
 THISPKG        = base
-SEARCH = -I$(TOPDIR)/targets/$(MACHINE) -Iinclude
-EXTRA_H_FLAGS   = +RTS -H4M -K2M -RTS
-EXTRA_HBC_FLAGS = +RTS -H16M -A1M -RTS
+SEARCH = -I$(TOPDIR)/targets/$(MACHINE) -Iinclude \
+         -I../../prelude/PreludeIO -I../../prelude/`$(LOCAL)harch`
+EXTRA_H_FLAGS   = -H4M -K3M
+EXTRA_HBC_FLAGS = -H16M -A1M
+
+DIRS   = \
+       Data Debug Control Control/Monad System System/IO System/Console \
+       Text Text/Html Text/Show Text/ParserCombinators Text/Regex \
+       Foreign Foreign/Marshal Foreign/C NHC Unsafe System/Posix \
+       Control/Exception
 
 SRCS   = \
        Data/Bits.hs Data/Bool.hs Data/Char.hs Data/Complex.hs \
-       Data/Either.hs Data/FiniteMap.hs Data/IORef.hs Data/Int.hs \
-       Data/Ix.hs Data/List.hs Data/Maybe.hs Data/PackedString.hs \
-       Data/Ratio.hs Data/Set.hs Data/Tuple.hs Data/Word.hs Data/Array.hs \
+       Data/Either.hs Data/IORef.hs Data/Int.hs \
+       Data/Ix.hs Data/List.hs Data/Maybe.hs \
+       Data/Ratio.hs Data/Tuple.hs Data/Word.hs \
        Data/HashTable.hs Data/Typeable.hs Data/Dynamic.hs \
-       Data/Monoid.hs Data/Queue.hs Data/Tree.hs \
-       Control/Monad.hs Control/Monad/Fix.hs \
-       Control/Arrow.hs Debug/Trace.hs \
-       NHC/SizedTypes.hs \
+       Data/Monoid.hs \
+       Data/Eq.hs Data/Ord.hs Data/Fixed.hs \
+       Data/Foldable.hs Data/Traversable.hs \
+       Data/Function.hs \
+       Control/Monad.hs Control/Monad/Fix.hs Control/Monad/Instances.hs \
+       Control/Arrow.hs Control/Applicative.hs \
+       Control/Exception.hs Control/Exception/Base.hs Control/Category.hs \
+       Debug/Trace.hs \
+       NHC/SizedTypes.hs NHC/PosixTypes.hsc \
        System/IO.hs System/IO/Error.hs System/IO/Unsafe.hs \
-       System/Environment.hs System/Exit.hs System/Locale.hs \
-       System/FilePath.hs \
-       System/Directory.hs System/Mem.hs System/Cmd.hs System/Info.hs \
-       System/Console/GetOpt.hs System/Random.hs \
-       System/CPUTime.hsc System/Time.hsc \
+       System/Environment.hs System/Exit.hs \
+       System/Mem.hs System/Info.hs \
+       System/CPUTime.hsc \
        Foreign/Ptr.hs Foreign/StablePtr.hs Foreign/Storable.hs \
        Foreign/ForeignPtr.hs Foreign/C/Types.hs \
        Foreign/Marshal/Alloc.hs Foreign/Marshal/Array.hs \
        Foreign/Marshal/Utils.hs Foreign/Marshal/Error.hs \
        Foreign/Marshal/Pool.hs Foreign/Marshal.hs \
        Foreign/C/String.hs Foreign/C/Error.hs Foreign/C.hs Foreign.hs \
-       Text/PrettyPrint/HughesPJ.hs Text/PrettyPrint.hs \
-       Text/Html/BlockTable.hs Text/Html.hs \
-       Text/Read.hs Text/Show.hs Text/Show/Functions.hs
+       Text/Printf.hs \
+       Text/Read.hs Text/Show.hs Text/Show/Functions.hs \
+       Text/ParserCombinators/ReadP.hs Data/Version.hs \
+       Unsafe/Coerce.hs \
+       WCsubst.c \
+       System/Posix/Types.hs System/Posix/Internals.hs \
+
+#      Data/String.hs
+#      Text/ParserCombinators/ReadPrec.hs
+#      Text/Read/Lex.hs
 
+# now moved to separate packages:
+#      System/Directory.hs \
+#      System/Directory/Internals.hs \
+#      Text/PrettyPrint/HughesPJ.hs Text/PrettyPrint.hs \
+#      System/Random.hs System/Locale.hs System/Time.hsc \
+#      System/Cmd.hs \
+#      System/Timeout.hs \
+#      System/Console/GetOpt.hs \
+
+#      Text/Regex/Posix.hsc Text/Regex.hs \
 #      [Data/Dynamic.hs] Data/Generics.hs Data/STRef.hs Data/Unique.hs
 #      System/Mem.hs System/Mem/StableName.hs System/Mem/Weak.hs
 #      System/Posix/Types.hs System/Posix/Signals.hsc
-#      Text/ParserCombinators/ReadP.hs Text/ParserCombinators/ReadPrec.hs
-#      Text/Read/Lex.hs
-#      Text/Regex/* Text/Regex.hs
+#      System/FilePath.hs
 
 
 # Here are the main rules.
 include ../Makefile.common
 
 # some extra rules
-NHC/SizedTypes.hs: NHC/SizedTypes.hs.cpp
-       $(CC) -E $< >$@
+extra:
+       if [ -f Prelude.hs ]; then mv Prelude.hs Prelude.hs.unused; fi
+       if [ -f Numeric.hs ]; then mv Numeric.hs Numeric.hs.unused; fi
+       $(INSTALL) include/Typeable.h $(INCDIR)/packages/$(THISPKG)
+       $(INSTALL) include/Nhc98BaseConfig.h $(INCDIR)/packages/$(THISPKG)
+extracfiles:
+       if [ -f Prelude.hs ]; then mv Prelude.hs Prelude.hs.unused; fi
+       if [ -f Numeric.hs ]; then mv Numeric.hs Numeric.hs.unused; fi
+       $(INSTALL) include/Typeable.h $(INCDIR)/packages/$(THISPKG)
+       $(INSTALL) include/Nhc98BaseConfig.h $(INCDIR)/packages/$(THISPKG)
 
-# Here are the dependencies.
-$(OBJDIR)/Data/FiniteMap.$O: $(OBJDIR)/Data/Maybe.$O
-$(OBJDIR)/Data/Set.$O: $(OBJDIR)/Data/Maybe.$O $(OBJDIR)/Data/FiniteMap.$O
-$(OBJDIR)/Data/Array.$O: $(OBJDIR)/Data/Ix.$O
-$(OBJDIR)/Data/Dynamic.$O: $(OBJDIR)/Data/HashTable.$O \
-       $(OBJDIR)/Data/Typeable.$O
-$(OBJDIR)/Data/HashTable.$O: $(OBJDIR)/Control/Monad.$O
-$(OBJDIR)/Data/Int.$O: $(OBJDIR)/NHC/SizedTypes.$O
-$(OBJDIR)/Data/Word.$O: $(OBJDIR)/NHC/SizedTypes.$O
-$(OBJDIR)/NHC/SizedTypes.$O: $(OBJDIR)/Data/Bits.$O
-$(OBJDIR)/System/IO.$O: $(OBJDIR)/System/IO/Error.$O
-$(OBJDIR)/System/Random.$O: $(OBJDIR)/Data/Char.$O $(OBJDIR)/Data/IORef.$O \
-       $(OBJDIR)/System/IO/Unsafe.$O $(OBJDIR)/Foreign/Ptr.$O
-$(OBJDIR)/Debug/Trace.$O: $(OBJDIR)/System/IO.$O $(OBJDIR)/System/IO/Unsafe.$O
-$(OBJDIR)/Control/Monad/Fix.$O: $(OBJDIR)/System/IO.$O
-$(OBJDIR)/Foreign/Marshal/Alloc.$O:  $(OBJDIR)/Data/Maybe.$O \
-       $(OBJDIR)/Foreign/Ptr.$O $(OBJDIR)/Foreign/Storable.$O \
-       $(OBJDIR)/Foreign/C/Types.$O
-$(OBJDIR)/Foreign/Marshal/Array.$O:  $(OBJDIR)/Control/Monad.$O \
-       $(OBJDIR)/Foreign/Ptr.$O $(OBJDIR)/Foreign/Storable.$O \
-       $(OBJDIR)/Foreign/Marshal/Alloc.$O $(OBJDIR)/Foreign/Marshal/Utils.$O
-$(OBJDIR)/Foreign/Marshal/Utils.$O:  $(OBJDIR)/Data/Maybe.$O \
-       $(OBJDIR)/Foreign/Ptr.$O $(OBJDIR)/Foreign/Storable.$O \
-       $(OBJDIR)/Foreign/Marshal/Alloc.$O $(OBJDIR)/Foreign/C/Types.$O
-$(OBJDIR)/Foreign/Marshal/Error.$O: $(OBJDIR)/Foreign/Ptr.$O
-$(OBJDIR)/Foreign/C/String.$O: $(OBJDIR)/Data/Word.$O $(OBJDIR)/Foreign/Ptr.$O \
-       $(OBJDIR)/Foreign/Marshal/Array.$O $(OBJDIR)/Foreign/C/Types.$O 
-$(OBJDIR)/Foreign/C.$O: $(OBJDIR)/Foreign/C/Types.$O \
-       $(OBJDIR)/Foreign/C/Error.$O $(OBJDIR)/Foreign/C/String.$O
+# Here are any extra dependencies.
 
 # C-files dependencies.
-Data/FiniteMap.$C: Data/Maybe.$C
-Data/Set.$C:       Data/Maybe.$C Data/FiniteMap.$C
-Data/Array.$C:     Data/Ix.$C
-Data/Dynamic.$C:   Data/HashTable.$C Data/Typeable.$C
-Data/HashTable.$C: Control/Monad.$C
-Data/Int.$C:       NHC/SizedTypes.$C
-Data/Word.$C:      NHC/SizedTypes.$C
-NHC/SizedTypes.$C: Data/Bits.$C
-System/IO.$C:      System/IO/Error.$C
-System/Random.$C:  Data/Char.$C Data/IORef.$C System/IO/Unsafe.$C
-Debug/Trace.$C:    System/IO.$C System/IO/Unsafe.$C
-Control/Monad/Fix.$C:      System/IO.$C
-Foreign/Marshal/Alloc.$C:  Data/Maybe.$C Foreign/Ptr.$C Foreign/Storable.$C \
-       Foreign/C/Types.$C
-Foreign/Marshal/Array.$C:  Control/Monad.$C Foreign/Ptr.$C Foreign/Storable.$C \
-       Foreign/Marshal/Alloc.$C Foreign/Marshal/Utils.$C
-Foreign/Marshal/Utils.$C:  Data/Maybe.$C Foreign/Ptr.$C Foreign/Storable.$C \
-       Foreign/C/Types.$C Foreign/Marshal/Alloc.$C
-Foreign/Marshal/Error.$C:  Foreign/Ptr.$C
-Foreign/C/String.$C:       Data/Word.$C Foreign/Ptr.$C Foreign/C/Types.$C \
-       Foreign/Marshal/Array.$C
-Foreign/C.$C:      Foreign/C/Types.$C Foreign/C/Error.$C Foreign/C/String.$C