2 SEARCH = -I$(TOPDIR)/targets/$(MACHINE)
4 DIRS = Data Control Control/Monad Debug System System/IO System/Console \
5 Foreign Foreign/C Foreign/Marshal Text Text/ParserCombinators \
6 Text/ParserCombinators/Parsec Text/PrettyPrint Text/Html \
10 Data/Bits.hs Data/Bool.hs Data/Char.hs Data/Complex.hs \
11 Data/Either.hs Data/FiniteMap.hs Data/IORef.hs Data/Int.hs \
12 Data/Ix.hs Data/List.hs Data/Maybe.hs Data/PackedString.hs \
13 Data/Ratio.hs Data/Set.hs Data/Tuple.hs Data/Word.hs Data/Array.hs \
15 Control/Monad.hs Control/Monad/Fix.hs Control/Monad/Trans.hs \
16 Control/Arrow.hs Debug/Trace.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 Foreign/Ptr.hs Foreign/StablePtr.hs Foreign/Storable.hs \
22 Foreign/ForeignPtr.hs Foreign/C/Types.hs Foreign/C/TypesISO.hs \
23 Foreign/Marshal/Alloc.hs Foreign/Marshal/Array.hs \
24 Foreign/Marshal/Utils.hs Foreign/Marshal/Error.hs \
25 Foreign/C/String.hs Foreign/C/Error.hs Foreign/C.hs \
26 Text/ParserCombinators/Parsec/Char.hs \
27 Text/ParserCombinators/Parsec/Combinator.hs \
28 Text/ParserCombinators/Parsec/Error.hs \
29 Text/ParserCombinators/Parsec/Expr.hs \
30 Text/ParserCombinators/Parsec/Perm.hs \
31 Text/ParserCombinators/Parsec/Pos.hs \
32 Text/ParserCombinators/Parsec/Prim.hs \
33 Text/ParserCombinators/Parsec.hs \
34 Text/PrettyPrint/HughesPJ.hs Text/PrettyPrint.hs \
35 Text/Html/BlockTable.hs Text/Html.hs \
36 Text/Read.hs Text/Show.hs Text/Show/Functions.hs
38 # [Data/Dynamic.hs] Data/Generics.hs Data/STRef.hs Data/Unique.hs
39 # Control/Monad/Identity.hs
41 # System/CPUTime.hsc System/Time.hsc
42 # System/Mem.hs System/Mem/StableName.hs System/Mem/Weak.hs
43 # System/Posix/Types.hs System/Posix/Signals.hsc
44 # Text/ParserCombinators/Parsec/Token.hs \
45 # Text/ParserCombinators/Parsec/Language.hs \
46 # Text/ParserCombinators/ReadP.hs Text/ParserCombinators/ReadPrec.hs
48 # Text/Regex/* Text/Regex.hs
51 # Here are the main rules.
52 include ../Makefile.common
55 # Here are the dependencies.
56 $(OBJDIR)/Data/FiniteMap.$O: $(OBJDIR)/Data/Maybe.$O
57 $(OBJDIR)/Data/Set.$O: $(OBJDIR)/Data/Maybe.$O $(OBJDIR)/Data/FiniteMap.$O
58 $(OBJDIR)/Data/Array.$O: $(OBJDIR)/Data/Ix.$O
59 $(OBJDIR)/Data/Dynamic.$O: $(OBJDIR)/Foreign/Ptr.$O \
60 $(OBJDIR)/Foreign/StablePtr.$O
61 $(OBJDIR)/System/IO.$O: $(OBJDIR)/System/IO/Error.$O
62 $(OBJDIR)/System/Random.$O: $(OBJDIR)/Data/Char.$O $(OBJDIR)/Data/IORef.$O \
63 $(OBJDIR)/System/IO/Unsafe.$O
64 $(OBJDIR)/Debug/Trace.$O: $(OBJDIR)/System/IO.$O $(OBJDIR)/System/IO/Unsafe.$O
65 $(OBJDIR)/Control/Monad/Fix.$O: $(OBJDIR)/System/IO.$O
66 $(OBJDIR)/Control/Monad/Identity.$O: $(OBJDIR)/Control/Monad.$O \
67 $(OBJDIR)/Control/Monad/Fix.$O
68 $(OBJDIR)/Foreign/Marshal/Alloc.$O: $(OBJDIR)/Data/Maybe.$O \
69 $(OBJDIR)/Foreign/Ptr.$O $(OBJDIR)/Foreign/Storable.$O \
70 $(OBJDIR)/Foreign/C/Types.$O
71 $(OBJDIR)/Foreign/Marshal/Array.$O: $(OBJDIR)/Control/Monad.$O \
72 $(OBJDIR)/Foreign/Ptr.$O $(OBJDIR)/Foreign/Storable.$O \
73 $(OBJDIR)/Foreign/Marshal/Alloc.$O $(OBJDIR)/Foreign/Marshal/Utils.$O
74 $(OBJDIR)/Foreign/Marshal/Utils.$O: $(OBJDIR)/Data/Maybe.$O \
75 $(OBJDIR)/Foreign/Ptr.$O $(OBJDIR)/Foreign/Storable.$O \
76 $(OBJDIR)/Foreign/Marshal/Alloc.$O $(OBJDIR)/Foreign/C/Types.$O
77 $(OBJDIR)/Foreign/Marshal/Error.$O: $(OBJDIR)/Foreign/Ptr.$O
78 $(OBJDIR)/Foreign/C/String.$O: $(OBJDIR)/Data/Word.$O $(OBJDIR)/Foreign/Ptr.$O \
79 $(OBJDIR)/Foreign/Marshal/Array.$O $(OBJDIR)/Foreign/C/Types.$O
80 $(OBJDIR)/Text/ParserCombinators/Parsec/Char.$O: \
81 $(OBJDIR)/Text/ParserCombinators/Parsec/Pos.$O \
82 $(OBJDIR)/Text/ParserCombinators/Parsec/Prim.$O
83 $(OBJDIR)/Text/ParserCombinators/Parsec/Combinator.$O: \
84 $(OBJDIR)/Text/ParserCombinators/Parsec/Prim.$O
85 $(OBJDIR)/Text/ParserCombinators/Parsec/Error.$O: \
86 $(OBJDIR)/Text/ParserCombinators/Parsec/Pos.$O
87 $(OBJDIR)/Text/ParserCombinators/Parsec/Expr.$O: \
88 $(OBJDIR)/Text/ParserCombinators/Parsec/Prim.$O \
89 $(OBJDIR)/Text/ParserCombinators/Parsec/Combinator.$O
90 $(OBJDIR)/Text/ParserCombinators/Parsec/Language.$O: \
91 $(OBJDIR)/Text/ParserCombinators/Parsec.$O \
92 $(OBJDIR)/Text/ParserCombinators/Parsec/Token.$O
93 $(OBJDIR)/Text/ParserCombinators/Parsec/Perm.$O: \
94 $(OBJDIR)/Text/ParserCombinators/Parsec.$O
95 $(OBJDIR)/Text/ParserCombinators/Parsec/Prim.$O: \
96 $(OBJDIR)/Text/ParserCombinators/Parsec/Pos.$O \
97 $(OBJDIR)/Text/ParserCombinators/Parsec/Error.$O
98 $(OBJDIR)/Text/ParserCombinators/Parsec/Token.$O: \
99 $(OBJDIR)/Text/ParserCombinators/Parsec.$O
101 # C-files dependencies.
102 Data/FiniteMap.$C: Data/Maybe.$C
103 Data/Set.$C: Data/Maybe.$C Data/FiniteMap.$C
104 Data/Array.$C: Data/Ix.$C
105 Data/Dynamic.$C: Foreign/Ptr.$C
106 System/IO.$C: System/IO/Error.$C
107 System/Random.$C: Data/Char.$C Data/IORef.$C System/IO/Unsafe.$C
108 Debug/Trace.$C: System/IO.$C System/IO/Unsafe.$C
109 Control/Monad/Fix.$C: System/IO.$C
110 Control/Monad/Identity.$C: Control/Monad.$C Control/Monad/Fix.$C
111 Control/Monad/Trans.$C: System/IO.$C
112 Foreign/Marshal/Alloc.$C: Data/Maybe.$C Foreign/Ptr.$C Foreign/Storable.$C \
114 Foreign/Marshal/Array.$C: Control/Monad.$C Foreign/Ptr.$C Foreign/Storable.$C \
115 Foreign/Marshal/Alloc.$C Foreign/Marshal/Utils.$C
116 Foreign/Marshal/Utils.$C: Data/Maybe.$C Foreign/Ptr.$C Foreign/Storable.$C \
117 Foreign/C/Types.$C Foreign/Marshal/Alloc.$C
118 Foreign/Marshal/Error.$C: Foreign/Ptr.$C
119 Foreign/C/String.$C: Data/Word.$C Foreign/Ptr.$C Foreign/C/Types.$C \
120 Foreign/Marshal/Array.$C