# Authors: Kevin Henrick, Ryan Jones, and Mark Micchelli

OBJS = scanner.cmo parser.cmo corelibrary.cmo javaclasses.cmo generator.cmo semantic_analyzer.cmo cgl.cmo

cgl: $(OBJS)
	ocamlc -o cgl $(OBJS)

scanner.ml : scanner.mll
	ocamllex scanner.mll

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

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

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

.PHONY : clean
clean :
	rm -rf *.cmo *.cmi *.java *.class cgl parser.mli parser.ml scanner.ml

# generated by ocamldep
cgl.cmo: scanner.cmo parser.cmi javaclasses.cmo generator.cmo
cgl.cmx: scanner.cmx parser.cmx javaclasses.cmx generator.cmx
corelibrary.cmo:
corelibrary.cmx:
generator.cmo: corelibrary.cmo ast.cmi
generator.cmx: corelibrary.cmx ast.cmi
generatorbackup.cmo: corelibrary.cmo ast.cmi
generatorbackup.cmx: corelibrary.cmx ast.cmi
javaclasses.cmo:
javaclasses.cmx:
parser.cmo: ast.cmi parser.cmi
parser.cmx: ast.cmi parser.cmi
scanner.cmo: parser.cmi ast.cmi
scanner.cmx: parser.cmx ast.cmi
ast.cmi:
parser.cmi: ast.cmi
semantic_analyzer.cmo: ast.cmi sast.cmi
