blob: 4b556a73e17f3c062467ceed20df4eb58165301e [file] [log] [blame]
#! /usr/bin/make -f
#export DH_VERBOSE=1
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
CFLAGS += -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
MAKEFLAGS += -j$(NUMJOBS)
endif
DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
arch64_map = i386=x86_64 powerpc=powerpc64 sparc=sparc64 s390=s390x
ifneq (,$(filter $(DEB_HOST_ARCH)=%, $(arch64_map)))
HOST64 = $(strip $(patsubst $(DEB_HOST_ARCH)=%, %, \
$(filter $(DEB_HOST_ARCH)=%, $(arch64_map))))-linux-gnu
CC64 = gcc -m64
extra_build_targets += build64-stamp
endif
ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
CONFIG_OPTS = --build=$(DEB_BUILD_GNU_TYPE)
else
CONFIG_OPTS = --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
endif
all: build
build: build-arch build-indep
build-arch: build-stamp $(extra_build_targets)
build-indep: build-stamp $(extra_build_targets)
%-stamp: %/Makefile
$(MAKE) -C $*
ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
$(MAKE) -C $* check VERBOSE=1
endif
touch $@
build/Makefile:
mkdir -p $(@D)
cd $(@D); sh ../configure --prefix=/usr $(CONFIG_OPTS)
build64/Makefile:
mkdir -p $(@D)
cd $(@D); CC="$(CC64)" sh ../configure --prefix=/usr --build=$(DEB_BUILD_GNU_TYPE) --host=$(HOST64)
clean:
dh_testdir
dh_testroot
rm -rf build build64 strace64.1 debian/strace64.substvars
dh_clean
binary: binary-indep binary-arch
binary-indep:
binary-arch: build
test -f build-stamp || make $(MFLAGS) -f debian/rules build
# prepare 64bit executable and manpage, if it has been built
test -f build64-stamp && ( mv build64/strace build64/strace64 ; \
cp strace.1 strace64.1 ) || true
dh_testdir -s
dh_testroot -s
dh_installdirs -s
dh_installdocs -s
dh_installman -s
dh_installexamples -s
dh_installchangelogs -s
dh_install -s
dh_link -s
dh_strip -s
dh_compress -s
dh_fixperms -s
dh_installdeb -s
dh_shlibdeps -s
dh_gencontrol -s
dh_md5sums -s
dh_builddeb -s