#!/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- 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= 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