#!/usr/bin/make -f export DH_COMPAT=3 COQPREF=$(CURDIR)/debian/coq ADDPREF=COQINSTALLPREFIX=${COQPREF} # in version 3.04, ocamlopt has several bugs: on some arches, it produces # executables that sometimes fail mysteriously or loop. # We use a workaround to detect this kind of situations: # - we try to make Coq with timeouts (TMAKE) # - once this is done, we check make succeeded (timeout does not # return the exit status of MAKE) # TMAKE=timeout 5300 ${MAKE} MAKEQ=${MAKE} -q CONFIGUREOPTS=--prefix /usr --mandir /usr/share/man --emacslib /usr/share/emacs/site-lisp/coq --reals all configure: configure-stamp configure-stamp: dh_testdir ./configure -opt ${CONFIGUREOPTS} || ./configure ${CONFIGUREOPTS} touch configure-stamp build: configure-stamp build-stamp build-stamp: dh_testdir if grep -q BEST=opt config/Makefile; \ then (${TMAKE} bin/coqmktop bin/coqc bin/coqtop.byte \ && ${MAKEQ} bin/coqmktop bin/coqc bin/coqtop.byte \ && ${TMAKE} bin/coqtop.opt bin/coqtop \ && ${MAKEQ} bin/coqtop.opt bin/coqtop \ && ${TMAKE} states \ && ${MAKEQ} states \ && ${TMAKE} world \ && ${MAKEQ} world) \ || (echo WARNING: NATIVE CODE COMPILATION FAILED \ && echo Trying to build coq in bytecode \ && ${MAKE} archclean clean \ && ${MAKE} BEST=byte world \ && echo NATIVE CODE COMPILATION FAILED \ && echo Coq was built in bytecode instead); \ else ${MAKE} world; \ fi ${MAKE} check touch build-stamp clean: dh_testdir dh_testroot rm -f build-stamp configure-stamp -$(MAKE) clean -$(MAKE) archclean dh_clean install: build dh_testdir dh_testroot dh_clean -k dh_installdirs $(MAKE) ${ADDPREF} install || $(MAKE) BEST=byte ${ADDPREF} install -strip -R .note -R .comment ${COQPREF}/usr/bin/coqtop.opt # Build architecture-independent files here. binary-indep: build install # We have nothing to do by default. # Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot dh_installdocs dh_installemacsen dh_installchangelogs CHANGES dh_link dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure