# $Id: Makefile,v 1.2 2003/04/18 11:46:19 alvaracu Exp $ 

include Makefile.here
# ----------------------------------------------------
# Do not edit after this line

NAME=otags
VERSION="`mk_version`"
REP=$(NAME)-$(VERSION)

CAMLP4DIR="`camlp4 -where`"
ZLIBS=
INTERF=line_number.mli splay.mli mklist.mli argcamlp4.mli
IMPML=line_number.ml catags.ml mklist.ml argcamlp4.ml vi.ml emacs.ml otags.ml splay.ml pr_emacs_tags.ml pr_vi_tags.ml 
IMPP4=pr.ml
IMPLEM=$(IMPML) $(IMPP4) 
SRC=$(INTERF) $(IMPLEM) 
#SCRIPTS_TPL=$(NAME).tpl $(NAME)_rec.tpl
#SCRIPTS=$(SCRIPTS_TPL:%.tpl=%)
MAKEFILES=mk_config configure Makefile Makefile.config Makefile.depend Makefile.here.tpl
COM=otags #catags
OBJ=$(COM)
LIB=pr_emacs_tags.cma pr_vi_tags.cma
OCAMLC=ocamlc -g 
OCAMLOPT=ocamlopt

all: $(OBJ) $(LIB)

include Makefile.config
include Makefile.depend

tags:
	otags -v $(SRC)

check: all
	./mk_test otags.ml
	./mk_test test.ml

pr_emacs_tags.cma: splay.cmo line_number.cmo argcamlp4.cmo emacs.cmo pr.cmo pr_emacs_tags.cmo
	$(OCAMLC) -a -o $@ $(ZLIBS) $+

pr_vi_tags.cma: splay.cmo line_number.cmo argcamlp4.cmo vi.cmo pr.cmo pr_vi_tags.cmo
	$(OCAMLC) -a -o $@ $(ZLIBS) $+

emacs.cmo: emacs.ml 
	$(OCAMLC) -c -I $(CAMLP4DIR) $<

vi.cmo: vi.ml 
	$(OCAMLC) -c -I $(CAMLP4DIR) $<

pr.cmo: pr.ml
	$(OCAMLC) -pp "camlp4o q_MLast.cmo" -c -I $(CAMLP4DIR) $+

otags: config.cmx argcamlp4.cmx mklist.cmx otags.cmx
	$(OCAMLOPT) unix.cmxa -o $@ $+ -cclib -lunix

catags: catags.ml 
	$(OCAMLOPT) -o $@ $+

clean:
	rm -fr *.cm[aiox] *.o *~ TAGS *.ppo *.tags *.*.ps *.*.dvi *.*.log *.*.tex *.*.aux *.tar* $(COM) 

install: $(LIB) $(OBJ)
	mkdir -p $(BINDIR) $(INSTALLIBDIR)
	install $(LIB) $(INSTALLIBDIR)
	install $(OBJ) $(BINDIR)

uninstall:
	(cd $(INSTALLIBDIR); rm -f $(LIB))
	(cd $(BINDIR); rm -f $(OBJ))

dist:
	mkdir $(REP); cp -a $(SRC) $(MAKEFILES) $(SCRIPTS_TPL) COPYING HISTORY README test.ml mk_version mk_tags mk_test $(REP)
	tar -cvf $(REP).tar $(REP); rm -rf $(REP)
	gzip $(REP).tar

