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 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
|
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 by Joey Hess.
# Modified for GAP by Bill Allombert 2002-2013
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
triplet = $(DEB_HOST_MULTIARCH)
gaptriplet = usr/lib/$(triplet)/gap
#strip is handled by dh_strip
CFLAGS = -g -Wall
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
LDFLAGS = -Wl,-z,relro
config.status: configure
dh_testdir
LDFLAGS=$(LDFLAGS) ./configure --host=$(DEB_HOST_GNU_TYPE) --target=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gmp=system
prep: prep-stamp
prep-stamp:
mkdir pkg
ln -s /usr/share/gap/pkg/gapdoc pkg
touch prep-stamp
build-arch: config.status build-arch-stamp
build-arch-stamp: prep-stamp
dh_testdir
$(MAKE) "CFLAGS=$(CFLAGS) -fPIC" compile
mv bin/*/ pic
$(MAKE) "CFLAGS=$(CFLAGS)" compile
#Run a basic test.
echo 'ReadTest("tst/combinat.tst");'| bin/*/gap -q | tee debian/gap.tst
grep -q "^true" debian/gap.tst
touch build-arch-stamp
build-indep: config.status build-indep-stamp
build-indep-stamp: build-arch-stamp
dh_testdir
env GAP_DIR=`pwd` $(MAKE) manuals
$(MAKE) -C debian/doc
touch build-indep-stamp
build: build-arch build-indep
clean:
dh_testdir
dh_testroot
rm -f build-arch-stamp build-indep-stamp prep-stamp
if [ -f Makefile ]; then $(MAKE) clean; fi
$(MAKE) -C doc clean
$(MAKE) -C debian/doc clean
rm -f sysinfo.gap
rm -rf bin pkg pic
rm -f debian/gap.tst
dh_clean
install: install-arch install-indep
install-arch: build-arch
dh_testdir -a
dh_testroot -a
dh_prep -a
dh_installdirs -a
dh_install -a
dh_install -p gap-dev pic/*.o ${gaptriplet}/bin
dh_install -p gap-dev pic/sysinfo.gap pic/config.h ${gaptriplet}/bin
dh_install -p gap-dev pic/config.h /usr/include/${triplet}/gap
dh_install -p gap-dev src/*.h /usr/include/gap
dh_link -p gap-dev ${gaptriplet}/bin /usr/lib/gap/`echo bin/*-gcc-*`
install -m 644 sysinfo.gap debian/gap-core/usr/lib/gap
install -m 755 -d debian/gap-core/${gaptriplet}/bin
install -m 755 bin/*/gap debian/gap-core/${gaptriplet}/bin
install -m 755 debian/gap.debian debian/gap-core/usr/bin/gap
perl -pi -e "s,\@GAP_PRG\@,/${gaptriplet}/bin/gap,g" \
debian/gap-core/usr/bin/gap
install -m 755 bin/*/gac debian/gap-dev/usr/bin/gac
perl -pi -e "s,\@GAP_BIN\@,/${gaptriplet}/bin,g" \
debian/gap-dev/usr/bin/gac
dh_installdocs -a --all debian/changelog-*.Debian
dh_installexamples -a
dh_installmenu -a
dh_installman -a
dh_installinfo -a
dh_installchangelogs -a
install-indep: build-indep
dh_testdir -i
dh_testroot -i
dh_prep -i
$(MAKE) -C doc install-pdf install-html "DESTDIR=../debian/gap-doc"
$(MAKE) -C doc install-help "DESTDIR=../debian/gap-online-help"
$(MAKE) -C debian/doc install "DESTDIR=../gap-doc"
dh_installdirs -i
dh_install -i
dh_installdocs -i --all debian/changelog-*.Debian
dh_installexamples -i
dh_installinfo -i
dh_installchangelogs -i
# Build architecture-independent files here.
# Pass -i to all debhelper commands in this target to reduce clutter.
binary-indep: build-indep install-indep
dh_testdir -i
dh_testroot -i
dh_link -i
dh_compress -i
dh_fixperms -i
dh_installdeb -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
# Build architecture-dependent files here.
binary-arch: build-arch install-arch
dh_testdir -a
dh_testroot -a
dh_strip -a
dh_link -a
dh_compress -a -X gap2deb
dh_fixperms -a
dh_installdeb -a
dh_shlibdeps -a
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
|