all : fogl

FOGL = ast.cmo strings.cmo parser.cmo scanner.cmo programname.cmo analyze.cmo translate.cmo fogl.cmo

fogl : $(FOGL)
	ocamlc -o fogl $(FOGL)

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 syntax fogl parser.ml parser.mli scanner.ml "Test Output" \
	*.cmo *.cmi *.jar -rf *_java

parser.cmi : ast.cmo
programname.cmo:
programname.cmx:
analyze.cmo : strings.cmo ast.cmo 
analyze.cmx : strings.cmx ast.cmx 
translate.cmo: analyze.cmo strings.cmo ast.cmo programname.cmo
translate.cmx: analyze.cmx strings.cmx ast.cmx programname.cmx
ast.cmo :
ast.cmx :
fogl.cmo : scanner.cmo parser.cmi analyze.cmo translate.cmo
fogl.cmx : scanner.cmx parser.cmx analyze.cmx translate.cmx
parser.cmo : ast.cmo parser.cmi
parser.cmx : ast.cmx parser.cmi
scanner.cmo : parser.cmi
scanner.cmx : parser.cmx
strings.cmo : ast.cmo
strings.cmx : ast.cmx
