# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#
-# $Id: Makefile.in,v 1.2 2008-04-02 08:03:26 rjones Exp $
+# $Id: Makefile.in,v 1.5 2008-05-07 14:41:03 rjones Exp $
PACKAGE = @PACKAGE_NAME@
VERSION = @PACKAGE_VERSION@
OCAMLOPTFLAGS =
OCAMLOPTPACKAGES =
+OCAMLDOCFLAGS = -html -sort
+
EXAMPLES = $(wildcard examples/*.ml)
TESTS = $(patsubst %.ml,%,$(wildcard tests/*.ml))
-all: pa_bitmatch.cmo bitmatch.cma bitmatch.cmxa
-
-pa_bitmatch.cmo: pa_bitmatch.ml
- $(OCAMLFIND) ocamlc -I +camlp4 camlp4lib.cma \
- -pp camlp4of.opt -c $< -o $@
+all: bitmatch.cma bitmatch.cmxa pa_bitmatch.cmo
-bitmatch.cma: bitmatch.cmo
+bitmatch.cma: bitmatch_types.cmo bitmatch_config.cmo bitmatch.cmo
$(OCAMLFIND) ocamlc -a -o $@ $^
-bitmatch.cmxa: bitmatch.cmx
+bitmatch.cmxa: bitmatch_types.cmx bitmatch_config.cmx bitmatch.cmx
$(OCAMLFIND) ocamlopt -a -o $@ $^
+pa_bitmatch.cmo: pa_bitmatch.ml bitmatch.cma
+ $(OCAMLFIND) ocamlc bitmatch.cma -I +camlp4 camlp4lib.cma \
+ -pp camlp4of.opt -c $< -o $@
+
# Tests and examples.
+PP = -pp "camlp4o bitmatch.cma pa_bitmatch.cmo"
+
test: pa_bitmatch.cmo bitmatch.cma
@for f in $(TESTS); do \
echo Test: $$f; \
- $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp "camlp4o pa_bitmatch.cmo" \
- -I . bitmatch.cma $$f.ml -o $$f; \
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(PP) \
+ -package unix -linkpkg -I . bitmatch.cma $$f.ml -o $$f; \
if [ $$? -ne 0 ]; then exit 1; fi; \
$$f; \
if [ $$? -ne 0 ]; then exit 1; fi; \
print-tests: pa_bitmatch.cmo
@for f in $(TESTS); do \
echo Test: $$f.ml; \
- cmd="camlp4o pa_bitmatch.cmo -printer pr_o.cmo $$f.ml"; \
+ cmd="camlp4o bitmatch.cma pa_bitmatch.cmo -printer pr_o.cmo $$f.ml"; \
echo $$cmd; \
$$cmd; \
done
print-examples: pa_bitmatch.cmo
@for f in $(EXAMPLES); do \
echo Example: $$f; \
- camlp4o pa_bitmatch.cmo -printer pr_o.cmo $$f; \
+ camlp4o bitmatch.cma pa_bitmatch.cmo -printer pr_o.cmo $$f; \
if [ $$? -ne 0 ]; then exit 1; fi; \
done
rm -f tests/*~ tests/*.cmi tests/*.cmo $(TESTS)
rm -f examples/*~
+# Documentation.
+
+ifneq ($(OCAMLDOC),)
+doc:
+ rm -rf html
+ mkdir html
+ $(OCAMLDOC) $(OCAMLDOCFLAGS) -d html bitmatch.mli bitmatch.ml
+endif
+
+# Install.
+
install:
+ ocamlfind install bitmatch META *.mli *.cmx *.cma *.cmxa *.a \
+ bitmatch.cmi \
+ pa_bitmatch.cmo
# Standard rules.
mkdir $(PACKAGE)-$(VERSION)
tar -cf - -T MANIFEST | tar -C $(PACKAGE)-$(VERSION) -xf -
$(INSTALL) -m 0755 configure $(PACKAGE)-$(VERSION)/
+ $(INSTALL) -m 0644 config.h.in $(PACKAGE)-$(VERSION)/
tar zcf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION)
rm -rf $(PACKAGE)-$(VERSION)
ls -l $(PACKAGE)-$(VERSION).tar.gz
check-manifest:
- @for d in `find -type d -name CVS`; do \
- b=`dirname $$d`/; \
- awk -F/ '$$1 != "D" {print $$2}' $$d/Entries | \
- sed -e "s|^|$$b|" -e "s|^\./||"; \
- done | sort > .check-manifest; \
+ svn -R list | grep -v '/$$' | sort > .check-manifest
sort MANIFEST > .orig-manifest; \
diff -u .orig-manifest .check-manifest; rv=$$?; \
rm -f .orig-manifest .check-manifest; \