aboutsummaryrefslogtreecommitdiffstats
path: root/test/littlesemantics/Makefile.ppc
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