OBJS = parser.cmo scanner.cmo argc.cmo
PROG = argc

all: $(PROG)

argc : $(OBJS)
	ocamlc str.cma -o argc $(OBJS)

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 parser.ml parser.mli scanner.ml *.cmo *.cmi $(PROG)

# Generated by ocamldep *.ml *.mli
arg.cmo: scanner.cmo parser.cmi ast.cmi
arg.cmx: scanner.cmx parser.cmx ast.cmi
parser.cmo: ast.cmi parser.cmi
parser.cmx: ast.cmi parser.cmi
scanner.cmo: parser.cmi
scanner.cmx: parser.cmx
parser.cmi: ast.cmi
