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 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
|
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# This file is public domain software, originally written by Joey Hess.
#
# This version is for a multibinary package. It also allows you to build any
# of the binary packages independantly, via binary-<package> targets.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
with_check := yes
ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
with_check := disabled through DEB_BUILD_OPTIONS
endif
NJOBS =
# Support parallel=<n> in DEB_BUILD_OPTIONS (see #209008)
ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
COMMA = ,
NJOBS := -j $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
endif
# This has to be exported to make some magic below work.
export DH_OPTIONS
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
confflags += --build $(DEB_HOST_GNU_TYPE)
else
confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
endif
CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
CFLAGS := -g $(shell dpkg-buildflags --get CFLAGS)
CXXFLAGS := -g $(shell dpkg-buildflags --get CXXFLAGS)
LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS) -Wl,-z,defs
ifeq ($(shell dpkg-vendor --query Vendor),Debian)
mpfr4breaks = $(shell tr '\n' ' ' < debian/breaks.Debian)
endif
ifneq (,$(filter $(DEB_HOST_ARCH), m68k powerpcspe))
CFLAGS += -O0
else ifeq (sh4,$(DEB_HOST_ARCH))
CFLAGS += -mieee
else
CFLAGS := $(subst -O2,-O3,$(CFLAGS))
CXXFLAGS := $(subst -O2,-O3,$(CXXFLAGS))
endif
# Re-enable TLS on sparc.
# ifeq (sparc,$(DEB_HOST_ARCH))
# confflags += --disable-thread-safe
# endif
build-doc: stamps/configure-stamp
$(MAKE) -C build pdf info html
stamps/autoreconf-stamp:
dh_autoreconf
rm -f doc/texinfo.tex
ln -s /usr/share/texmf/tex/texinfo/texinfo.tex doc/texinfo.tex
@mkdir -p stamps
touch $@
stamps/configure-stamp: stamps/autoreconf-stamp
dh_testdir
rm -rf build
mkdir -p build
chmod +x configure
cd build && \
../configure $(confflags) \
--prefix=/usr \
--enable-shared \
--libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
CPPFLAGS="$(CPPFLAGS)" \
CFLAGS="$(CFLAGS)" \
CXXFLAGS="$(CXXFLAGS)" \
LDFLAGS="$(LDFLAGS)"
@mkdir -p stamps
touch $@
stamps/build-stamp: stamps/configure-stamp
dh_testdir
$(MAKE) $(NJOBS) -C build
ifeq ($(with_check),yes)
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
if GMP_CHECK_RANDOMIZE=1 $(MAKE) -C build check; then \
echo "testsuite passed"; \
else \
echo "testsuite failed"; \
cat build/tests/test-suite.log; \
exit 1; \
fi
endif
endif
touch $@
build-indep: stamps/build-stamp
build-arch: stamps/build-stamp
build: build-indep build-arch
clean:
rm -f doc/texinfo.tex
dh_autoreconf_clean
rm -rf stamps
dh_testdir
dh_testroot
rm -rf build
dh_clean
install: DH_OPTIONS=
install: build
dh_testdir
dh_testroot
dh_prep
dh_clean
dh_installdirs
$(MAKE) -C build DESTDIR=$(CURDIR)/debian/tmp install
# Miscellaneous install.
dh_install -i
dh_install -plibmpfr6
dh_install -plibmpfr-dev
binary-indep: build build-doc install
dh_testdir
dh_testroot
dh_installchangelogs -i ChangeLog
dh_installdocs -i -A BUGS NEWS README TODO AUTHORS
dh_installexamples -i
dh_installinfo -i
dh_link -i
dh_compress -i
dh_fixperms -i
dh_lintian -i
dh_installdeb -i
dh_gencontrol -i --
dh_md5sums -i
dh_builddeb -i
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs -a ChangeLog
dh_installdocs -a -A BUGS NEWS README TODO AUTHORS
dh_installexamples -a
dh_installinfo -a
dh_strip -a
dh_link -a
dh_compress -a
for f in BUGS NEWS README TODO AUTHORS changelog; do \
if [ -f debian/libmpfr6/usr/share/doc/libmpfr6/$$f.gz ]; then \
f=$$f.gz; \
fi; \
ln -sf ../libmpfr6/$$f debian/libmpfr-dev/usr/share/doc/libmpfr-dev/$$f; \
done
dh_makeshlibs -V -plibmpfr6
dh_fixperms -a
dh_lintian -a
dh_installdeb -a
dh_shlibdeps -a
dh_gencontrol -a -- '-Vmpfr:Breaks=$(mpfr4breaks)'
dh_md5sums -a
dh_builddeb -a
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary-common binary install build-arch build-indep
|