all : interp1 interp2 interp1 : little.tab.c lex.yy.o little.h little.o cc -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 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 : cc -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[12] *.o little.tab.c lex.yy.c \ little.tab.h *.output *.log *.pdf *.dvi *.aux