#!/usr/bin/make -f DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/buildflags.mk include /usr/share/dpkg/architecture.mk # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # This has to be exported to make some magic below work. export DH_OPTIONS ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) JOBSFLAG = -j$(NUMJOBS) endif MAKE_CHECK = : disabled make check ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) MAKE_CHECK = $(MAKE) check endif endif #export CFLAGS = -Wall -g #export LDFLAGS = -Wl,-Bsymbolic-functions ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else ifneq (,$(findstring $(DEB_HOST_ARCH), ia64)) CFLAGS += -O2 else CFLAGS += -O3 endif endif confflags = --prefix=/usr --enable-cxx ifneq (,$(filter $(DEB_HOST_ARCH), amd64 kfreebsd-amd64 lpia)) confflags += --disable-fat else confflags += --enable-fat endif ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) AR = ar confflags_build += --build $(DEB_BUILD_GNU_TYPE) else AR = $(DEB_HOST_GNU_TYPE)-ar confflags_build += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) --target $(DEB_HOST_GNU_TYPE) endif ifneq (,$(findstring $(DEB_HOST_ARCH), x32)) confflags += ABI=x32 endif ifneq (,$(filter $(DEB_HOST_ARCH), mips64 mips64el)) confflags += ABI=64 endif confflags_ma = $(confflags) $(confflags_build) --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) CC = $(DEB_HOST_GNU_TYPE)-gcc CXX = $(DEB_HOST_GNU_TYPE)-g++ configure: configure-stamp configure-stamp: dh_autoreconf mkdir -p build cd build && ../configure $(confflags_ma) \ AR=$(AR) CC="$(CC)" CFLAGS="$(CFLAGS)" \ CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" ASMFLAGS="--debug-prefix-map=$(CURDIR)=." touch $@ build: build-stamp build-stamp: configure dh_testdir $(MAKE) $(JOBSFLAG) -C build $(MAKE_CHECK) -C build touch $@ clean: dh_testdir dh_testroot rm -rf build build-stamp dh_clean install-prep: dh_testdir dh_testroot dh_prep dh_installdirs install: build-stamp install-prep rm -rf debian/tmp # Install places gmp.h in 'includeexecdir' which is non-standard and cannot be set at compile time, # so override it at install. $(MAKE) DESTDIR=`pwd`/debian/tmp includeexecdir=/usr/include/$(DEB_HOST_MULTIARCH) -C build install # Replace embedded build path with a placeholder string sed -i -e "s,$(CURDIR),BUILDPATH,g" debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/gmp.h dh_install -plibgmp10 usr/lib/*/libgmp.so.* dh_install -plibgmpxx4ldbl usr/lib/*/libgmpxx.so.* dh_install -plibgmp-dev usr/lib/*/lib*.so dh_install -plibgmp-dev usr/lib/*/lib*.a dh_install -plibgmp-dev usr/lib/*/pkgconfig dh_install -plibgmp-dev usr/include # Install upstream ChangeLog, AUTHORS, NEWS, and README only in -dev package dh_installchangelogs -plibgmp-dev dh_installdocs -plibgmp-dev AUTHORS NEWS README # This single target is used to build all the packages, all at once, or # one at a time. So keep in mind: any options passed to commands here will # affect _all_ packages. Anything you want to only affect one package # should be put in another target, such as the install target. binary-common: # See 633312, http://wiki.debian.org/ReleaseGoals/LAFileRemoval sed -i "/dependency_libs/ s/'.*'/''/" `find debian/ -name '*.la'` dh_testdir dh_testroot dh_installchangelogs dh_installdocs dh_installexamples dh_installmenu dh_lintian dh_strip dh_link dh_compress dh_fixperms dh_makeshlibs dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb # Build architecture independant packages using the common target. binary-indep: build install $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common # Build architecture dependant packages using the common target. binary-arch: build install $(EXTRA_INSTALL) $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common # Any other binary targets build just one binary package at a time. binary-%: build install make -f debian/rules binary-common DH_OPTIONS=-p$* build-arch: build build-indep: build binary: binary-indep binary-arch .PHONY: build build-arch build-indep clean binary-indep binary-arch binary-common binary install install-prep