#!/usr/bin/make -f # debian/rules for coq # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # Build cache (for accelerating Debian debugging) BUILDCACHE := $(wildcard ../coq.cache) # This has to be exported to make some magic below work. export COQTEST_SKIPCOMPLEXITY = true export CAML_LD_LIBRARY_PATH = $(shell pwd)/kernel/byterun # Show full commands when building Coq export VERBOSE=1 # We want to use dpatch include /usr/share/dpatch/dpatch.make HTMLDOC := doc/stdlib/html/index.html COQPREF := $(CURDIR)/debian/tmp ADDPREF := COQINSTALLPREFIX=$(COQPREF) COQABI := 8.2 PACKAGES := $(shell awk '/Package:/{print $$2}' debian/control) OFILES := $(patsubst %.in,%,$(wildcard debian/*.in)) OCAMLABI := $(shell ocamlc -version) CONFIGUREOPTS := --arch Linux --prefix /usr --mandir /usr/share/man \ --emacslib /usr/share/emacs/site-lisp/coq --reals all --fsets all \ --browser "/usr/bin/x-www-browser %s &" \ --with-doc no --coqrunbyteflags "-dllib -lcoqrun" OCAMLINITSED := -e 's/@OCamlABI@/$(OCAMLABI)/g' -e '/^\#/d' OCAMLOPT := $(wildcard /usr/bin/ocamlopt*) ifneq ($(OCAMLOPT),) CONFIGUREOPTS += -opt OCAMLINITSED += -e 's/^OPT: //' else OCAMLINITSED += -e '/^OPT: /d' endif ocamlinit: ocamlinit-stamp ocamlinit-stamp: for f in $(OFILES); do sed $(OCAMLINITSED) $$f.in > $$f; done touch $@ configure: configure-stamp configure-stamp: patch-stamp ocamlinit-stamp dh build --before dh_auto_configure ./configure $(CONFIGUREOPTS) touch $@ build: build-stamp build-stamp: configure-stamp dh_testdir ifeq ($(BUILDCACHE),) $(MAKE) STRIP=true check $(MAKE) DOC_TARGETS=$(HTMLDOC) $(HTMLDOC) else rsync -a --exclude=debian --exclude=.git $(BUILDCACHE)/ . endif dh build --after dh_auto_test touch $@ install: install-stamp install-stamp: build-stamp dh install --before dh_auto_install $(MAKE) $(ADDPREF) install find debian/tmp -regextype posix-awk \ -regex '.*\.(cm[aoxi]|cmxa|[ao])$$' \ >> debian/libcoq-ocaml-dev.install find debian/tmp -name '*.vo' -printf '%P\n' \ >> debian/coq-theories.install dh_install --list-missing cp debian/coq.xpm debian/coq/usr/share/pixmaps cp debian/coq.xpm debian/coqide/usr/share/pixmaps/coqide.xpm cp debian/coqide.desktop debian/coqide/usr/share/applications cp -r doc/stdlib/html debian/coq-theories/usr/share/doc/coq-theories/ echo "$(COQABI)" > debian/coq/usr/lib/coq/abi dh install --after dh_install for u in $(PACKAGES); do \ echo 'F:OCamlABI=$(OCAMLABI)' >> debian/$$u.substvars; \ echo 'F:CoqABI=$(COQABI)' >> debian/$$u.substvars; \ done touch $@ clean: unpatch dh $@ rm -f $(OFILES) binary-indep: install-stamp dh $@ binary-arch: install-stamp dh $@ binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure ocamlinit