OBJS = ast.cmo sast.cmo parser.cmo scanner.cmo typecheck.cmo javagen.cmo angelaZ.cmo javagenTest.cmo angelaZTest.cmo 
#calc.cmo 
OBJS_TEST = ast.cmo sast.cmo parser.cmo scanner.cmo typecheck.cmo javagenTest.cmo angelaZTest.cmo 

angelaZ: $(OBJS)
	ocamlc -g -o angelaZ $(OBJS)
#calc : $(OBJS)
#	ocamlc -o calc $(OBJS)
angelaZTest: $(OBJS_TEST)
	ocamlc -g -o angelaZTest $(OBJS_TEST)
.PHONY : test
test : angelaZTest testall.sh
	./testall.sh

scanner.ml : scanner.mll
	ocamllex scanner.mll

parser.ml parser.mli : parser.mly
	ocamlyacc parser.mly

%.cmo : %.ml
	ocamlc -w  -A -c $<

%.cmi : %.mli
	ocamlc -w -A -c $<

#calc.tar.gz : $(TARFILES)
#	cd .. && tar czf calc/calc.tar.gz $(TARFILES:%=calc/%)

.PHONY : clean
clean :
	rm -f calc parser.ml parser.mli scanner.ml testall.log \
	*.cmo *.cmi *.out *.diff

# Generated by ocamldep *.ml *.mli
typecheck.cmo : sast.cmo ast.cmo
typecheck.cmx : sast.cmx ast.cmx
ast.cmo: 
ast.cmx: 
#calc.cmo: scanner.cmo parser.cmi ast.cmo 
#calc.cmx: scanner.cmx parser.cmx ast.cmx 
parser.cmo: ast.cmo parser.cmi 
parser.cmx: ast.cmx parser.cmi 
sast.cmo : ast.cmo
sast.cmx : ast.cmx
scanner.cmo: parser.cmi 
scanner.cmx: parser.cmx 
parser.cmi: ast.cmo 
javagen.cmo : ast.cmo
javagen.cmx : ast.cmx
javagenTest.cmo : ast.cmo
javagenTest.cmx : ast.cmx
pc.cmo : scanner.cmo  parser.cmi javagen.cmo ast.cmo javagenTest.cmo 
pc.cmx : scanner.cmx  parser.cmx javagen.cmx ast.cmx javagenTest.cmx
