OBJ = pendulum_data.cmo misc.cmo pendulum.cmo
BIN = manual
GENFILES = pendulum.ml

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
pendulum_data.cmi: pendulum_data.mli
	$(CAML) -c pendulum_data.mli

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

# synchronous code
misc.ml: misc.ls
	lucyc misc.ls

pendulum_data.lzi: pendulum_data.mli
	lucyc pendulum_data.mli

pendulum.ml $(BIN).ml: pendulum_data.lzi pendulum.ls
	lucyc  -sampling 0.05 -s $(BIN) pendulum.ls

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

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

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

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