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