OBJ = planetes_data.cmo planetes.cmo
GENFILES = planetes.ml
BIN = main

CAML = ocamlc.opt

$(BIN): $(OBJ) $(BIN).cmo
	$(CAML) -o $(BIN) -custom unix.cma graphics.cma \
               $(OBJ) $(BIN).cmo \
               -cclib -L/usr/X11R6/lib -cclib -lX11 -cclib \
               -lgraphics -cclib -lunix

# scalar code
planetes_data.cmi: planetes_data.mli
	$(CAML) -c planetes_data.mli

planetes_data.cmo: planetes_data.cmi planetes_data.ml
	$(CAML) -c planetes_data.ml

# synchronous code
planetes_data.lzi: planetes_data.mli
	lucyc planetes_data.mli

planetes.ml $(BIN).ml: planetes_data.lzi planetes.ls
	lucyc  -sampling 0.01 -s $(BIN) planetes.ls

$(BIN).cmo: planetes.ml $(BIN).ml
	$(CAML) -c $(BIN).ml

planetes.cmo: planetes.ml
	$(CAML) -c planetes.ml

clean:
	/bin/rm -f planetes.ml *.cmi *.cmo *.cmx *.o *.lzi \
	$(GENFILES) $(BIN).ml