1 #########################################################################
5 # Xavier Leroy, projet Cristal, INRIA Rocquencourt #
7 # Copyright 1999 Institut National de Recherche en Informatique et #
8 # en Automatique. All rights reserved. This file is distributed #
9 # under the terms of the Q Public License version 1.0. #
11 #########################################################################
15 include ..
/config
/Makefile
17 CAMLC
=..
/boot
/ocamlrun ..
/boot
/ocamlc
-I ..
/boot
18 COMPFLAGS
=$(INCLUDES
) -g
20 CAMLYACC
=..
/boot
/ocamlyacc
22 CAMLLEX
=..
/boot
/ocamlrun ..
/boot
/ocamllex
23 CAMLDEP
=..
/boot
/ocamlrun ..
/tools
/ocamldep
25 CAMLRUN
=..
/boot
/ocamlrun
29 CFLAGS
=$(NATIVECCCOMPOPTS
) -g
31 PROGS
=fib.out tak.out quicksort.out quicksort2.out soli.out integr.out \
32 arith.out checkbound.out
36 INCLUDES
=-I ..
/utils
-I ..
/typing
-I ..
/asmcomp
38 OTHEROBJS
=..
/utils
/misc.cmo ..
/utils
/config.cmo ..
/utils
/tbl.cmo \
39 ..
/utils
/clflags.cmo ..
/utils
/ccomp.cmo \
40 ..
/utils
/config.cmo ..
/utils
/clflags.cmo ..
/utils
/warnings.cmo \
41 ..
/utils
/consistbl.cmo \
42 ..
/parsing
/linenum.cmo ..
/parsing
/location.cmo \
43 ..
/typing
/ident.cmo ..
/typing
/path.cmo ..
/typing
/types.cmo \
44 ..
/typing
/btype.cmo ..
/typing
/subst.cmo ..
/typing
/primitive.cmo \
45 ..
/typing
/predef.cmo ..
/typing
/datarepr.cmo ..
/typing
/env.cmo \
46 ..
/bytecomp
/lambda.cmo ..
/bytecomp
/switch.cmo \
47 ..
/asmcomp
/arch.cmo ..
/asmcomp
/cmm.cmo ..
/asmcomp
/printcmm.cmo \
48 ..
/asmcomp
/clambda.cmo ..
/asmcomp
/compilenv.cmo \
49 ..
/asmcomp
/reg.cmo ..
/asmcomp
/mach.cmo ..
/asmcomp
/proc.cmo \
50 ..
/asmcomp
/closure.cmo ..
/asmcomp
/cmmgen.cmo \
51 ..
/asmcomp
/printmach.cmo \
52 ..
/asmcomp
/selectgen.cmo ..
/asmcomp
/selection.cmo ..
/asmcomp
/comballoc.cmo \
53 ..
/asmcomp
/liveness.cmo ..
/asmcomp
/spill.cmo ..
/asmcomp
/split.cmo \
54 ..
/asmcomp
/interf.cmo ..
/asmcomp
/coloring.cmo \
55 ..
/asmcomp
/reloadgen.cmo ..
/asmcomp
/reload.cmo \
56 ..
/asmcomp
/linearize.cmo ..
/asmcomp
/schedgen.cmo ..
/asmcomp
/scheduling.cmo \
57 ..
/asmcomp
/printlinear.cmo ..
/asmcomp
/emitaux.cmo \
58 ..
/asmcomp
/emit.cmo ..
/asmcomp
/asmgen.cmo
60 OBJS
=parsecmmaux.cmo parsecmm.cmo lexcmm.cmo main.cmo
62 codegen
: $(OTHEROBJS
) $(OBJS
)
63 $(CAMLC
) $(LINKFLAGS
) -o codegen
$(OTHEROBJS
) $(OBJS
)
69 parsecmm.mli parsecmm.ml
: parsecmm.mly
70 $(CAMLYACC
) $(YACCFLAGS
) parsecmm.mly
73 rm -f parsecmm.mli parsecmm.ml parsecmm.output
75 beforedepend
:: parsecmm.mli parsecmm.ml
85 beforedepend
:: lexcmm.ml
89 $(PROGS
:.out
=.o
): codegen
91 fib.out
: main.c fib.o
$(ARCH
).o
92 $(CC
) $(CFLAGS
) -o fib.out
-DINT_INT
-DFUN
=fib main.c fib.o
$(ARCH
).o
94 tak.out
: main.c tak.o
$(ARCH
).o
95 $(CC
) $(CFLAGS
) -o tak.out
-DUNIT_INT
-DFUN
=takmain main.c tak.o
$(ARCH
).o
97 quicksort.out
: main.c quicksort.o
$(ARCH
).o
98 $(CC
) $(CFLAGS
) -o quicksort.out
-DSORT
-DFUN
=quicksort main.c quicksort.o
$(ARCH
).o
100 quicksort2.out
: main.c quicksort2.o
$(ARCH
).o
101 $(CC
) $(CFLAGS
) -o quicksort2.out
-DSORT
-DFUN
=quicksort main.c quicksort2.o
$(ARCH
).o
103 soli.out
: main.c soli.o
$(ARCH
).o
104 $(CC
) $(CFLAGS
) -o soli.out
-DUNIT_INT
-DFUN
=solitaire main.c soli.o
$(ARCH
).o
106 integr.out
: main.c integr.o
$(ARCH
).o
107 $(CC
) $(CFLAGS
) -o integr.out
-DINT_FLOAT
-DFUN
=test main.c integr.o
$(ARCH
).o
109 tagged-fib.out
: main.c tagged-fib.o
$(ARCH
).o
110 $(CC
) $(CFLAGS
) -o tagged-fib.out
-DINT_INT
-DFUN
=fib main.c tagged-fib.o
$(ARCH
).o
112 tagged-tak.out
: main.c tagged-tak.o
$(ARCH
).o
113 $(CC
) $(CFLAGS
) -o tagged-tak.out
-DUNIT_INT
-DFUN
=takmain main.c tagged-tak.o
$(ARCH
).o
115 tagged-quicksort.out
: main.c tagged-quicksort.o
$(ARCH
).o
116 $(CC
) $(CFLAGS
) -o tagged-quicksort.out
-DSORT
-DFUN
=quicksort main.c tagged-quicksort.o
$(ARCH
).o
118 tagged-integr.out
: main.c tagged-integr.o
$(ARCH
).o
119 $(CC
) $(CFLAGS
) -o tagged-integr.out
-DINT_FLOAT
-DFUN
=test main.c tagged-integr.o
$(ARCH
).o
121 arith.out
: mainarith.c arith.o
$(ARCH
).o
122 $(CC
) $(CFLAGS
) -o arith.out mainarith.c arith.o
$(ARCH
).o
124 checkbound.out
: main.c checkbound.o
$(ARCH
).o
125 $(CC
) $(CFLAGS
) -o checkbound.out
-DCHECKBOUND main.c checkbound.o
$(ARCH
).o
127 # The runtime environment
129 power.o
: power-
$(SYSTEM
).o
130 cp power-
$(SYSTEM
).o power.o
133 .SUFFIXES
: .cmm .c .o .S .ml .mli .cmo .cmi .s
136 $(CAMLC
) $(COMPFLAGS
) -c
$<
139 $(CAMLC
) $(COMPFLAGS
) -c
$<
142 $(CAMLRUN
) $(CODEGEN
) $*.cmm
> $*.s
143 $(AS
) $(ASFLAGS
) -o
$*.o
$*.s
146 $(ASPP
) $(ASPPFLAGS
) -o
$*.o
$*.S
149 $(ASPP
) $(ASPPFLAGS
) -o
$*.o
$*.s
152 rm -f
*.out
*.cm
[io
] *.s
*.o
*~
154 $(PROGS
:.out
=.o
): $(CODEGEN
)
157 $(CAMLDEP
) $(DEPFLAGS
) *.mli
*.ml
> .depend