blob: 5177a42dc44a29c0d83ebe6fec0939fa9a7824eb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
all : interp1 interp2
interp1.ppc : little.tab.c lex.yy.o little.h little.s
gcc -arch ppc -o interp1.ppc little.s lex.yy.o little.tab.c
interp1 : little.tab.c lex.yy.o little.h little.o
gcc -o interp1 little.o lex.yy.o little.tab.c
lex.yy.c : little.flex little.tab.h
flex little.flex
little.tab.c little.tab.h : little.y
bison -d little.y
little.s: little.c
../../ccomp little.c
interp2 : little_interp.ml little_syntax.cmo little_lex.cmo little.cmo
ocamlc -o interp2 \
little.cmo little_syntax.cmo little_lex.cmo little_interp.ml
.SUFFIXES: # Necessary to avoid that yacc is called on the .y file
.SUFFIXES: .ml .mli .cmo .cmi .c .o
.mli.cmi :
ocamlc -c $*.mli
.ml.cmo :
ocamlc -c $*.ml
.c.o :
gcc -c $*.c
little_syntax.ml little_syntax.mli : little_syntax.mly little.cmo
ocamlyacc little_syntax.mly
little_syntax.cmo : little_syntax.cmi
little_lex.cmo : little_lex.cmi
little_lex.ml : little_lex.mll
ocamllex little_lex.mll
clean :
rm -f little_lex.ml little_syntax.ml little_syntax.mli \
*.cmo *.cmi interp[1234] *.o *.s little.tab.c lex.yy.c \
little.tab.h *.output *.log *.pdf *.dvi *.aux
|