include ../../Makefile.examples

LVDIR=/usr/local/lib/lv

CAMLC_NOLABEL=ocamlc
CAMLOPT_NOLABEL=ocamlopt
CAMLC=$(CAMLC_LABEL) -w s
CAMLOPT= $(CAMLOPT_LABEL) -unsafe -w s

LABLGTKOBJS= lablgtk.cma
LABLGTKCOMPFLAGS= -I $(LABLGTKDIR)
LABLGTKLINKFLAGS= $(LABLGTKOBJS) -cclib "-L$(LABLGTKDIR) -llablgtk $(GTKLIBS)"

COMPFLAGS= $(COMPFLAGS_CAMLIMAGES) $(LABLGTKCOMPFLAGS)
LINKFLAGS= $(COMPFLAGS) $(LINKFLAGS_CAMLIMAGES) $(LABLGTKLINKFLAGS) $(WITH_LABLGTKIMAGE) $(WITH_UNIX)

all: lv.byte
opt: lv

MODULES= mylazy cache lvmisc gui jWidget seq tout enhance display \
	 viewer edge \
	 pathfind iconcap lvshtype icon lvsh scandir \
	 jpf lv

SRCS= $(addsuffix .ml, $(MODULES))

lv.byte: $(SRCS:.ml=.cmo)
	$(CAMLC) -o lv.byte $(DLLPATHS) $(LINKFLAGS) $(SRCS:.ml=.cmo)

lv: $(SRCS:.ml=.cmx)
	$(CAMLOPT) -o lv $(LINKFLAGS:.cma=.cmxa) $(SRCS:.ml=.cmx)

install: lv
	- mkdir $(LVDIR)
	cp lv $(LVDIR)
	cp *.xpm *.jpg $(LVDIR)
	cp iconcap $(LVDIR)

clean::
	rm -f lv lv.opt lv.byte

.SUFFIXES:
.SUFFIXES: .ml .mli .cmo .cmi .cmx .mll .mly

enhance.cmo: enhance.ml
	$(CAMLC_NOLABEL) -c $(COMPFLAGS) $<

enhance.cmx: enhance.ml
	$(CAMLOPT_NOLABEL) -c $(COMPFLAGS) $<

.ml.cmo:
	$(CAMLC) -c $(COMPFLAGS) $<

.mli.cmi:
	$(CAMLC) -c $(COMPFLAGS) $<

.ml.cmx:
	$(CAMLOPT) -c $(COMPFLAGS) $<

.mll.cmo:
	$(CAMLLEX) $<
	$(CAMLC) -c $(COMPFLAGS) $*.ml

.mll.cmx:
	$(CAMLLEX) $<
	$(CAMLOPT) -c $(COMPFLAGS) $*.ml

.mly.cmo:
	$(CAMLYACC) $<
	$(CAMLC) -c $(COMPFLAGS) $*.mli
	$(CAMLC) -c $(COMPFLAGS) $*.ml

.mly.cmx:
	$(CAMLYACC) $<
	$(CAMLOPT) -c $(COMPFLAGS) $*.mli
	$(CAMLOPT) -c $(COMPFLAGS) $*.ml

.mly.cmi:
	$(CAMLYACC) $<
	$(CAMLC) -c $(COMPFLAGS) $*.mli

.mll.ml:
	$(CAMLLEX) $<

.mly.ml:
	$(CAMLYACC) $<

clean::
	rm -f *.cm[iox] *~ .*~ *.o

depend:
	$(CAMLDEP) *.mli *.ml > .depend

include .depend
