OBJS = parser.cmo scanner.cmo interpret.cmo csslang.cmo

csslang: $(OBJS)
	ocamlc -o csslang $(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 csslang

interpret.cmo: ast.cmi
interpret.cmx: ast.cmi
csslang.cmo: scanner.cmo parser.cmi interpret.cmo
csslang.cmx: scanner.cmx parser.cmx interpret.cmx
parser.cmo: ast.cmi parser.cmi 
parser.cmx: ast.cmi parser.cmi 
scanner.cmo: parser.cmi 
scanner.cmx: parser.cmx 
parser.cmi: ast.cmi 
