CC = ocamlc
OBJS = libcsv.o ast.cmo sast.cmo parser.cmo scanner.cmo compile.cmo start.cmo 

all: start

start: $(OBJS)
	$(CC) -o start $(OBJS)

scanner.ml : scanner.mll
	ocamllex scanner.mll

parser.ml parser.mli : parser.mly
	ocamlyacc parser.mly
	ocamlc -c parser.mli

libcsv.o : libcsv.c csv.h
	gcc libcsv.c -c

%.cmo : %.ml
	$(CC) -c $<

%.cmi : %.mli
	$(CC) -c $<


clean : 
	rm scanner.ml
	rm parser.ml
	rm parser.mli
	rm ast.cmi
	rm ast.cmo
	rm sast.cmi
	rm sast.cmo
	rm parser.cmi	
	rm parser.cmo
	rm scanner.cmi
	rm scanner.cmo
	rm start.cmo
	rm start.cmi
	rm compile.cmo
	rm compile.cmi

