blob: 4c135a319fdb71aacfa2676f5772b8c874a242a0 (
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
#!/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)
PACKAGES := $(shell awk '/Package:/{print $$2}' debian/control)
OFILES := $(patsubst %.in,%,$(wildcard debian/*.in))
OCAMLABI := $(shell ocamlc -version)
# Beware: -1 is part of upstream version
COQVERSION := 8.2-1
COQABI := $(COQVERSION)+$(OCAMLABI)
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
|