Codebase list ocamldap / upstream/1.4.1 Makefile
upstream/1.4.1

Tree @upstream/1.4.1 (Download .tar.gz)

Makefile @upstream/1.4.1raw · history · blame

# $Id: Makefile,v 1.23 2003/11/07 01:05:14 a_eric Exp $

CAMLC=ocamlc
CAMLLEX=ocamllex
CAMLOPT=ocamlopt
CAMLP4O=camlp4o
CPP=cpp

# things defined to for the preprocessor
# add HAVE_KERBEROS to compile with kerberos support
PPDEFINES=

.SUFFIXES:	.ml .mli .cmo .cmi .cmx .o
.PHONY: all install tags clean test

.mll.ml:
		$(CAMLLEX) $<
.mli.cmi:
		$(CAMLC) -ccopt "$(CFLAGS)" -c $<
.ml.cmo:
		$(CAMLC) -ccopt "$(CFLAGS)" -c $<
.ml.cmx:	
		$(CAMLOPT) -inline 100 -ccopt "$(CFLAGS)" -c $<
.c.o:
		$(CAMLC) -ccopt "$(CFLAGS) $(PPDEFINES)" -c $<

all: ocamldap.cma ocamldap.cmxa testbc testopt testoo testoobc

dep: ocamldap ocamldap.i

install: all
	ocamlfind install $(DESTDIR) ocamldap ocamldap.mli ocamldap.cmi ooldap.mli ooldif.mli ooldap.cmi ooldif.cmi ocamldap.cma ocamldap.cmxa ocamldap.a libocamldap.a schemaparser.cmi META

# preprocess
ocamldap.i:
	$(CPP) -traditional-cpp $(PPDEFINES) ocamldap.mli4 | grep -v "^\#.*" >ocamldap.mli

ocamldap:
	$(CPP) -traditional-cpp $(PPDEFINES) ocamldap.ml4 | grep -v "^\#.*" >ocamldap.ml 

schemalexer.ml:
	$(CAMLLEX) schemalexer.mll

ocamldap.cma: ulist.cmo schemalexer.ml schemalexer.cmo schemaparser.cmo ocamldap_tags.h ocamldap.cmi \
ooldap.cmi ooldif.cmi ocamldap.cmo ooldap.cmo ldifparser.cmo ooldif.cmo libocamldap.a
	$(CAMLC) -a -o ocamldap.cma -cclib -lldap -cclib -llber -cclib -locamldap ocamldap.cmo \
ldifparser.cmo schemalexer.cmo schemaparser.cmo ulist.cmo ooldap.cmo ooldif.cmo

ocamldap.cmxa: ulist.cmx schemalexer.ml schemalexer.cmx schemaparser.cmx ocamldap_tags.h ocamldap.cmi \
ooldap.cmi ooldif.cmi ocamldap.cmx ooldap.cmx ldifparser.cmx ooldif.cmx libocamldap.a
	$(CAMLOPT) -a -o ocamldap.cmxa -cclib -lldap -cclib -llber -cclib -locamldap \
ocamldap.cmx schemalexer.cmx schemaparser.cmx ulist.cmx ooldap.cmx ldifparser.cmx ooldif.cmx

libocamldap.a: libocamldap.o
	ar r libocamldap.a libocamldap.o
	ranlib libocamldap.a

ocamldap_tags.h: varcc
	./varcc < ocamldap_tags.var -c ocamldap_tags.c -h ocamldap_tags.h

testbc: ocamldap.cma test.cmo
	$(CAMLC) -o testbc -custom -ccopt "-L. $(CFLAGS)" ocamldap.cma test.ml

testopt: ocamldap.cmxa test.cmx
	$(CAMLOPT) -o testopt -ccopt "-L. $(CFLAGS)" ocamldap.cmxa test.ml

testoo: ocamldap.cmxa
	$(CAMLOPT) -o testoo -ccopt "-L. $(CFLAGS)" str.cmxa ocamldap.cmxa testoo.ml

testoobc: ocamldap.cma
	$(CAMLC) -o testoobc -custom -ccopt "-L. $(CFLAGS)" str.cma ocamldap.cma testoo.ml

test: testbc testopt testoobc testoo
	@echo "*** testing the bytecode library ***"
	./testbc
	@echo "*** bytecode library test passed ***"
	@echo
	@echo "*** testing the native library ***"
	./testopt
	@echo "*** native library test passed ***"

varcc:
	$(CAMLP4O) pr_o.cmo -impl varcc.ml4 -o varcc.ml
	$(CAMLC) -labels -o $@ varcc.ml
	rm -f *_tags.h *_tags.c

clean:
	rm -f *.[ao] *.cm[aio] *.cmx* *_tags.[ch] testoobc testoo testbc testopt varcc varcc.ml varcc.c* ocamldap.mli ocamldap.ml schemalexer.ml