[project @ 2005-01-26 15:19:19 by malcolm]
[ghc-base.git] / Makefile.nhc98
1 THISPKG = base
2 SEARCH  = -I$(TOPDIR)/targets/$(MACHINE) -Iinclude
3 EXTRA_H_FLAGS   = +RTS -H4M -K2M -RTS
4 EXTRA_HBC_FLAGS = +RTS -H16M -A1M -RTS
5
6 SRCS    = \
7         Data/Bits.hs Data/Bool.hs Data/Char.hs Data/Complex.hs \
8         Data/Either.hs Data/FiniteMap.hs Data/IORef.hs Data/Int.hs \
9         Data/Ix.hs Data/List.hs Data/Maybe.hs Data/PackedString.hs \
10         Data/Ratio.hs Data/Set.hs Data/Tuple.hs Data/Word.hs Data/Array.hs \
11         Data/HashTable.hs Data/Typeable.hs Data/Dynamic.hs \
12         Data/Monoid.hs Data/Queue.hs Data/Tree.hs \
13         Data/Map.hs Data/IntMap.hs Data/IntSet.hs Data/FunctorM.hs \
14         Control/Monad.hs Control/Monad/Fix.hs \
15         Control/Arrow.hs Debug/Trace.hs \
16         NHC/SizedTypes.hs \
17         System/IO.hs System/IO/Error.hs System/IO/Unsafe.hs \
18         System/Environment.hs System/Exit.hs System/Locale.hs \
19         System/Directory.hs System/Mem.hs System/Cmd.hs System/Info.hs \
20         System/Console/GetOpt.hs System/Random.hs \
21         System/CPUTime.hsc System/Time.hsc \
22         Foreign/Ptr.hs Foreign/StablePtr.hs Foreign/Storable.hs \
23         Foreign/ForeignPtr.hs Foreign/C/Types.hs \
24         Foreign/Marshal/Alloc.hs Foreign/Marshal/Array.hs \
25         Foreign/Marshal/Utils.hs Foreign/Marshal/Error.hs \
26         Foreign/Marshal/Pool.hs Foreign/Marshal.hs \
27         Foreign/C/String.hs Foreign/C/Error.hs Foreign/C.hs Foreign.hs \
28         Text/PrettyPrint/HughesPJ.hs Text/PrettyPrint.hs \
29         Text/Html/BlockTable.hs Text/Html.hs Text/Printf.hs \
30         Text/Read.hs Text/Show.hs Text/Show/Functions.hs \
31         Text/ParserCombinators/ReadP.hs Data/Version.hs \
32         Text/Regex/Posix.hsc Text/Regex.hs
33
34
35 #       Text/ParserCombinators/ReadPrec.hs
36 #       [Data/Dynamic.hs] Data/Generics.hs Data/STRef.hs Data/Unique.hs
37 #       System/Mem.hs System/Mem/StableName.hs System/Mem/Weak.hs
38 #       System/Posix/Types.hs System/Posix/Signals.hsc
39 #       Text/Read/Lex.hs
40 #       System/FilePath.hs
41
42
43 # Here are the main rules.
44 include ../Makefile.common
45
46 # some extra rules
47 NHC/SizedTypes.hs: NHC/SizedTypes.hs.cpp
48         $(CC) -E $< >$@
49
50 # Here are the dependencies.
51 $(OBJDIR)/Data/FiniteMap.$O: $(OBJDIR)/Data/Maybe.$O
52 $(OBJDIR)/Data/Set.$O: $(OBJDIR)/Data/Monoid.$O $(OBJDIR)/Data/List.$O \
53         $(OBJDIR)/Data/Typeable.$O
54 $(OBJDIR)/Data/Array.$O: $(OBJDIR)/Data/Ix.$O $(OBJDIR)/Data/Typeable.$O
55 $(OBJDIR)/Data/Dynamic.$O: $(OBJDIR)/Data/HashTable.$O \
56         $(OBJDIR)/Data/Typeable.$O
57 $(OBJDIR)/Data/Typeable.$O: $(OBJDIR)/Data/Maybe.$O $(OBJDIR)/Data/Either.$O \
58         $(OBJDIR)/Data/Int.$O $(OBJDIR)/Data/Word.$O $(OBJDIR)/Data/List.$O \
59         $(OBJDIR)/Data/HashTable.$O
60 $(OBJDIR)/Data/HashTable.$O: $(OBJDIR)/Control/Monad.$O \
61         $(OBJDIR)/Data/Tuple.$O $(OBJDIR)/Data/Bits.$O $(OBJDIR)/Data/List.$O \
62         $(OBJDIR)/Data/Int.$O $(OBJDIR)/Data/Maybe.$O $(OBJDIR)/Data/Char.$O \
63         $(OBJDIR)/Data/IORef.$O
64 $(OBJDIR)/Data/Int.$O: $(OBJDIR)/NHC/SizedTypes.$O
65 $(OBJDIR)/Data/Word.$O: $(OBJDIR)/NHC/SizedTypes.$O
66 $(OBJDIR)/Data/Tree.$O: $(OBJDIR)/Control/Monad.$O $(OBJDIR)/Data/Maybe.$O \
67         $(OBJDIR)/Data/Queue.$O
68 $(OBJDIR)/Data/Map.$O: $(OBJDIR)/Data/Monoid.$O $(OBJDIR)/Data/Set.$O \
69         $(OBJDIR)/Data/List.$O $(OBJDIR)/Data/Typeable.$O
70 $(OBJDIR)/Data/IntMap.$O: $(OBJDIR)/Data/Monoid.$O $(OBJDIR)/Data/Bits.$O \
71         $(OBJDIR)/Data/Int.$O $(OBJDIR)/Data/IntSet.$O \
72         $(OBJDIR)/Data/Typeable.$O
73 $(OBJDIR)/Data/IntSet.$O: $(OBJDIR)/Data/Monoid.$O $(OBJDIR)/Data/Bits.$O \
74         $(OBJDIR)/Data/Int.$O $(OBJDIR)/Data/List.$O $(OBJDIR)/Data/Typeable.$O
75 $(OBJDIR)/Data/FunctorM.$O: $(OBJDIR)/Data/Array.$O
76 $(OBJDIR)/NHC/SizedTypes.$O: $(OBJDIR)/Data/Bits.$O
77 $(OBJDIR)/System/IO.$O: $(OBJDIR)/System/IO/Error.$O
78 $(OBJDIR)/System/Random.$O: $(OBJDIR)/Data/Char.$O $(OBJDIR)/Data/IORef.$O \
79         $(OBJDIR)/System/IO/Unsafe.$O $(OBJDIR)/Foreign/Ptr.$O
80 $(OBJDIR)/Debug/Trace.$O: $(OBJDIR)/System/IO.$O $(OBJDIR)/System/IO/Unsafe.$O
81 $(OBJDIR)/Control/Monad/Fix.$O: $(OBJDIR)/System/IO.$O
82 $(OBJDIR)/Foreign/Marshal/Alloc.$O:  $(OBJDIR)/Data/Maybe.$O \
83         $(OBJDIR)/Foreign/Ptr.$O $(OBJDIR)/Foreign/Storable.$O \
84         $(OBJDIR)/Foreign/C/Types.$O
85 $(OBJDIR)/Foreign/Marshal/Array.$O:  $(OBJDIR)/Control/Monad.$O \
86         $(OBJDIR)/Foreign/Ptr.$O $(OBJDIR)/Foreign/Storable.$O \
87         $(OBJDIR)/Foreign/Marshal/Alloc.$O $(OBJDIR)/Foreign/Marshal/Utils.$O
88 $(OBJDIR)/Foreign/Marshal/Utils.$O:  $(OBJDIR)/Data/Maybe.$O \
89         $(OBJDIR)/Foreign/Ptr.$O $(OBJDIR)/Foreign/Storable.$O \
90         $(OBJDIR)/Foreign/Marshal/Alloc.$O $(OBJDIR)/Foreign/C/Types.$O
91 $(OBJDIR)/Foreign/Marshal/Error.$O: $(OBJDIR)/Foreign/Ptr.$O
92 $(OBJDIR)/Foreign/C/String.$O: $(OBJDIR)/Data/Word.$O $(OBJDIR)/Foreign/Ptr.$O \
93         $(OBJDIR)/Foreign/Marshal/Array.$O $(OBJDIR)/Foreign/C/Types.$O 
94 $(OBJDIR)/Foreign/C.$O: $(OBJDIR)/Foreign/C/Types.$O \
95         $(OBJDIR)/Foreign/C/Error.$O $(OBJDIR)/Foreign/C/String.$O
96 $(OBJDIR)/Text/Regex.$O: $(OBJDIR)/Text/Regex/Posix.$O
97
98 # C-files dependencies.
99 Data/FiniteMap.$C: Data/Maybe.$C
100 Data/Set.$C:       Data/Monoid.$C Data/List.$C Data/Typeable.$C
101 Data/Array.$C:     Data/Ix.$C Data/Typeable.$C
102 Data/Dynamic.$C:   Data/HashTable.$C Data/Typeable.$C
103 Data/Typeable.$C:  Data/Maybe.$C Data/Either.$C Data/Int.$C Data/Word.$C \
104                    Data/List.$C Data/HashTable.$C
105 Data/HashTable.$C: Control/Monad.$C
106 Data/Int.$C:       NHC/SizedTypes.$C
107 Data/Word.$C:      NHC/SizedTypes.$C
108 Data/Tree.$C:      Control/Monad.$C Data/Maybe.$C Data/Queue.$C
109 Data/Map.$C:       Data/Monoid.$C Data/Set.$C Data/List.$C Data/Typeable.$C
110 Data/IntMap.$C:    Data/Monoid.$C Data/Bits.$C Data/Int.$C Data/IntSet.$C \
111                    Data/Typeable.$C
112 Data/IntSet.$C:    Data/Monoid.$C Data/Bits.$C Data/Int.$C Data/List.$C \
113                    Data/Typeable.$C
114 Data/FunctorM.$C:  Data/Array.$C
115 NHC/SizedTypes.$C: Data/Bits.$C
116 System/IO.$C:      System/IO/Error.$C
117 System/Random.$C:  Data/Char.$C Data/IORef.$C System/IO/Unsafe.$C
118 Debug/Trace.$C:    System/IO.$C System/IO/Unsafe.$C
119 Control/Monad/Fix.$C:      System/IO.$C
120 Foreign/Marshal/Alloc.$C:  Data/Maybe.$C Foreign/Ptr.$C Foreign/Storable.$C \
121                            Foreign/C/Types.$C
122 Foreign/Marshal/Array.$C:  Control/Monad.$C Foreign/Ptr.$C Foreign/Storable.$C \
123                            Foreign/Marshal/Alloc.$C Foreign/Marshal/Utils.$C
124 Foreign/Marshal/Utils.$C:  Data/Maybe.$C Foreign/Ptr.$C Foreign/Storable.$C \
125                            Foreign/C/Types.$C Foreign/Marshal/Alloc.$C
126 Foreign/Marshal/Error.$C:  Foreign/Ptr.$C
127 Foreign/C/String.$C:       Data/Word.$C Foreign/Ptr.$C Foreign/C/Types.$C \
128                            Foreign/Marshal/Array.$C
129 Foreign/C.$C:      Foreign/C/Types.$C Foreign/C/Error.$C Foreign/C/String.$C
130 Text/Regex.$C:     Text/Regex/Posix.$C