blob: d4e1d3376887e70413035681218995911fa84419 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
#!/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
|