OBJS = util.cmo parser.cmo scanner.cmo prettyprint.cmo semantics.cmo generator.cmo main.cmo

prog : $(OBJS) ./_hawk_lib/*.java
	ocamlc -o prog $(OBJS)
	javac -cp ./_hawk_lib/jsoup.jar ./_hawk_lib/*.java

.PHONY : test
test : prog testall.sh
	./testall.sh

scanner.ml : scanner.mll
	ocamllex scanner.mll

parser.ml parser.mli : parser.mly
	ocamlyacc -v parser.mly

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

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

.PHONY : clean
clean :
	rm -f prog parser.ml parser.mli scanner.ml testall.log \
	*.cmo *.cmi *.out *.cmx *.diff *.exe testresult/*.out \
	testresult/*.diff Program.java *.class \
	parser.output \
	_hawk_lib/*.class

# Generated by ocamldep *.ml *.mli
prog.cmo:  util.cmo scanner.cmo parser.cmi ast.cmi sast.cmi prettyprint.cmo semantics.cmo generator.cmo
prog.cmx:  scanner.cmx parser.cmx semantics.cmx generator.cmx sast.cmi ast.cmi
parser.cmo: ast.cmi parser.cmi
parser.cmx: ast.cmi parser.cmi
scanner.cmo: parser.cmi
scanner.cmx: parser.cmx
semantics.cmo: sast.cmi
parser.cmi: ast.cmi
