
OBJS = parser.cmo scanner.cmo types.cmo sym.cmo printer.cmo semantics.cmo cbackend.cmo coal.cmo
coal : $(OBJS)
	ocamlc -o coal $(OBJS)
	mkdir -p ../bin
	cp coal ../bin

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 -f coal parser.ml parser.mli scanner.ml *.cmo *.cmi

# Generated by ocamldep *.ml *.mli
cbackend.cmo: types.cmo sym.cmo sast.cmi coalopts.cmi ast.cmi cbackend.cmi
cbackend.cmx: types.cmx sym.cmx sast.cmi coalopts.cmi ast.cmi cbackend.cmi
coal.cmo: types.cmo semantics.cmi scanner.cmo printer.cmi parser.cmi \
    coalopts.cmi cbackend.cmi
coal.cmx: types.cmx semantics.cmx scanner.cmx printer.cmx parser.cmx \
    coalopts.cmi cbackend.cmx
parser.cmo: ast.cmi parser.cmi
parser.cmx: ast.cmi parser.cmi
printer.cmo: types.cmo sym.cmo sast.cmi ast.cmi printer.cmi
printer.cmx: types.cmx sym.cmx sast.cmi ast.cmi printer.cmi
scanner.cmo: parser.cmi
scanner.cmx: parser.cmx
semantics.cmo: types.cmo sym.cmo sast.cmi ast.cmi semantics.cmi
semantics.cmx: types.cmx sym.cmx sast.cmi ast.cmi semantics.cmi
sym.cmo: types.cmo
sym.cmx: types.cmx
cbackend.cmi: sast.cmi coalopts.cmi
parser.cmi: ast.cmi
printer.cmi: sast.cmi
sast.cmi: types.cmo sym.cmo ast.cmi
semantics.cmi: types.cmo sast.cmi ast.cmi
