X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=Makefile.in;h=c695a5ea65a303f4a7588985883501e929463351;hb=4f8971025e9431049a97c260fa586fe64bde22d2;hp=5634f745c986ac698155baf197e6a169c0b4129e;hpb=9afb125a21aaf11c85dbc631e04fa6c185705113;p=ocaml-bitstring.git diff --git a/Makefile.in b/Makefile.in index 5634f74..c695a5e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,55 +1,176 @@ -# $Id: Makefile.in,v 1.1 2008-04-02 07:20:26 rjones Exp $ - -PACKAGE = ocaml-bitmatch -VERSION = 0.1 +# Bitmatch syntax extension. +# Copyright (C) 2008 Red Hat Inc., Richard W.M. Jones +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# 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$ + +PACKAGE = @PACKAGE_NAME@ +VERSION = @PACKAGE_VERSION@ + +OCAMLFIND = @OCAMLFIND@ +OCAMLMKLIB = @OCAMLMKLIB@ +OCAMLDOC = @OCAMLDOC@ +INSTALL = @INSTALL@ + +OCAMLCFLAGS = -g +OCAMLCPACKAGES = +OCAMLOPTFLAGS = +OCAMLOPTPACKAGES = -OCAMLFIND = ocamlfind -OCAMLMKLIB = ocamlmklib +OCAMLDOCFLAGS = -html -sort -OCAMLCFLAGS = -g -OCAMLCPACKAGES = -OCAMLOPTFLAGS = -OCAMLOPTPACKAGES = +SUBDIRS = +ifneq ($(pkg_cil),no) +SUBDIRS += cil-tools +endif -EXAMPLES := $(wildcard examples/*.ml) +EXAMPLES = $(patsubst %.ml,%,$(wildcard examples/*.ml)) -TESTS := $(patsubst %.ml,%,$(wildcard tests/*.ml)) +TESTS = $(patsubst %.ml,%,$(wildcard tests/*.ml)) -all: pa_bitmatch.cmo bitmatch.cma bitmatch.cmxa +all: bitmatch.cma bitmatch_persistent.cma \ + bitmatch.cmxa bitmatch_persistent.cmxa \ + pa_bitmatch.cmo \ + bitmatch-objinfo + @for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done -pa_bitmatch.cmo: pa_bitmatch.ml - ocamlfind ocamlc -I +camlp4 camlp4lib.cma -pp camlp4of.opt -c $< -o $@ +bitmatch.cma: bitmatch_types.cmo bitmatch_config.cmo bitmatch.cmo + $(OCAMLFIND) ocamlc -a -o $@ $^ -bitmatch.cma: bitmatch.cmo +bitmatch_persistent.cma: bitmatch_persistent.cmo $(OCAMLFIND) ocamlc -a -o $@ $^ -bitmatch.cmxa: bitmatch.cmx +bitmatch_persistent.cmo: bitmatch_persistent.ml + $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) \ + -I +camlp4 -pp camlp4of -c $< + +bitmatch.cmxa: bitmatch_types.cmx bitmatch_config.cmx bitmatch.cmx + $(OCAMLFIND) ocamlopt -a -o $@ $^ + +bitmatch_persistent.cmxa: bitmatch_persistent.cmx $(OCAMLFIND) ocamlopt -a -o $@ $^ -test: pa_bitmatch.cmo bitmatch.cma +bitmatch_persistent.cmx: bitmatch_persistent.ml + $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) \ + -I +camlp4 -pp camlp4of -c $< + +bitmatch_persistent.cmi: bitmatch_persistent.mli + $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) \ + -I +camlp4 -pp camlp4of -c $< + +pa_bitmatch.cmo: pa_bitmatch.ml bitmatch.cma bitmatch_persistent.cma + $(OCAMLFIND) ocamlc bitmatch.cma -I +camlp4 camlp4lib.cma \ + -pp camlp4of -c $< -o $@ + +bitmatch-objinfo: bitmatch_objinfo.cmo bitmatch.cma bitmatch_persistent.cma + $(OCAMLFIND) ocamlc -I +camlp4 unix.cma camlp4lib.cma \ + bitmatch.cma bitmatch_persistent.cma \ + $< -o $@ + +# Tests and examples. + +PP = -pp "camlp4o bitmatch.cma bitmatch_persistent.cma pa_bitmatch.cmo" + +test: pa_bitmatch.cmo bitmatch.cma bitmatch_persistent.cma tests/test.bmpp @for f in $(TESTS); do \ - echo Test: $$f; \ - $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp "camlp4o pa_bitmatch.cmo" \ - -I . bitmatch.cma $$f.ml -o $$f; \ + echo Building $$f; \ + $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(PP) \ + -package unix -linkpkg -I . bitmatch.cma $$f.ml -o $$f; \ if [ $$? -ne 0 ]; then exit 1; fi; \ + echo Running $$f; \ $$f; \ if [ $$? -ne 0 ]; then exit 1; fi; \ done + @for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done + +tests/test.bmpp: create_test_pattern + ./$< $@.new + mv $@.new $@ + +create_test_pattern: create_test_pattern.cmo + $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \ + unix.cma -I +camlp4 camlp4lib.cma \ + -I . bitmatch.cma bitmatch_persistent.cma $< -o $@ -print-tests: pa_bitmatch.cmo +create_test_pattern.cmo: create_test_pattern.ml + $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -pp camlp4of \ + unix.cma -I +camlp4 \ + -I . -c $< -o $@ + +examples: pa_bitmatch.cmo bitmatch.cma bitmatch_persistent.cma + @for f in $(EXAMPLES); do \ + echo Building $$f; \ + $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(PP) \ + -package unix -linkpkg -I . bitmatch.cma $$f.ml -o $$f; \ + if [ $$? -ne 0 ]; then exit 1; fi; \ + done + @for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done + +print-tests: pa_bitmatch.cmo bitmatch_persistent.cma @for f in $(TESTS); do \ echo Test: $$f.ml; \ - cmd="camlp4o pa_bitmatch.cmo -printer pr_o.cmo $$f.ml"; \ + cmd="camlp4o bitmatch.cma bitmatch_persistent.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; \ + echo Example: $$f.ml; \ + camlp4o bitmatch.cma bitmatch_persistent.cma pa_bitmatch.cmo \ + -printer pr_o.cmo $$f.ml; \ + if [ $$? -ne 0 ]; then exit 1; fi; \ done +# Clean. + +clean: + rm -f core *~ *.cmi *.cmo *.cmx *.cma *.cmxa *.a *.o + rm -f tests/*~ tests/*.cmi tests/*.cmo $(TESTS) + rm -f examples/*~ examples/*.cmi examples/*.cmo $(EXAMPLES) + @for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done + +distclean: clean + rm -rf autom4te.cache + rm -f config.log config.status + rm -f config.h Makefile META bitmatch_config.ml + @for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done + +# Documentation. + +ifneq ($(OCAMLDOC),) +doc: + rm -rf html + mkdir html + $(OCAMLDOC) $(OCAMLDOCFLAGS) -d html -I +camlp4 \ + bitmatch.mli bitmatch_persistent.mli +endif + +# Install. + +install: + ocamlfind install bitmatch META *.mli *.cmx *.cma *.cmxa *.a \ + bitmatch.cmi \ + bitmatch_persistent.cmi \ + pa_bitmatch.cmo + @for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done + +# Standard rules. + .mli.cmi: $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $< .ml.cmo: @@ -58,10 +179,13 @@ print-examples: pa_bitmatch.cmo $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) -c $< depend: .depend + @for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done -.depend: bitmatch.ml bitmatch.mli +.depend: bitmatch.ml bitmatch.mli bitmatch_persistent.ml bitmatch_persistent.mli rm -f .depend - $(OCAMLFIND) ocamldep $(OCAMLCPACKAGES) $^ > $@ + $(OCAMLFIND) ocamldep $(OCAMLCPACKAGES) bitmatch.ml bitmatch.mli >> $@ + $(OCAMLFIND) ocamldep $(OCAMLCPACKAGES) -pp camlp4of \ + bitmatch_persistent.ml bitmatch_persistent.mli >> $@ ifeq ($(wildcard .depend),.depend) include .depend @@ -75,21 +199,20 @@ dist: 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)/ + svn log -v > $(PACKAGE)-$(VERSION)/CHANGES 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; \ exit $$rv -.PHONY: depend dist check-manifest dpkg doc print-examples print-tests test +.PHONY: depend dist check-manifest dpkg doc \ + print-examples print-tests examples test .SUFFIXES: .cmo .cmi .cmx .ml .mli .mll