# $Id: Makefile,v 1.6 2001/10/03 11:50:08 ddr Exp $

include ../config/Makefile

SHELL=/bin/sh

INCLUDES=-I $(OTOP)/otherlibs/dynlink
OCAMLCFLAGS=$(INCLUDES)
LINKFLAGS=$(INCLUDES)

OBJS=odyl_config.cmo odyl_main.cmo

all: odyl$(EXE)

opt: odyl.cmxa odyl.cmx

odyl$(EXE): odyl.cma odyl.cmo
	$(OCAMLC) odyl.cma odyl.cmo -o odyl$(EXE)

odyl.cma: $(OBJS)
	$(OCAMLC) $(LINKFLAGS) dynlink.cma $(OBJS) -a -o odyl.cma

odyl.cmxa: $(OBJS:.cmo=.cmx)
	$(OCAMLOPT) $(LINKFLAGS) $(OBJS:.cmo=.cmx) -a -o odyl.cmxa

odyl_main.cmx: odyl_main.ml
	$(CAMLP4_COMM) -nolib -DOPT -o odyl_main.ppo odyl_main.ml
	$(OCAMLOPT) -c -impl odyl_main.ppo
	rm -f odyl_main.ppo

odyl_config.ml:
	echo "let standard_library =" > odyl_config.ml
	echo "  try Sys.getenv \"CAMLP4LIB\" with" >> odyl_config.ml
	echo "    Not_found -> \"$(LIBDIR)\"" >> odyl_config.ml

clean::
	rm -f *.cm* *.pp[io] *.o *.bak .*.bak *.out *.opt *.a
	rm -f odyl_config.ml odyl$(EXE)

depend:
	cp .depend .depend.bak
	> .depend
	@for i in *.mli *.ml; do \
	  ../tools/apply.sh pr_depend.cmo -- $$i >> .depend; \
	done

promote:

compare:

install:
	-$(MKDIR) $(LIBDIR) $(BINDIR)
	cp odyl.cmo odyl.cma $(LIBDIR)
	cp odyl$(EXE) $(BINDIR)/.

include .depend
