rules revision 75df90ee416be3e2196e0977cd405053df505073
1#! /usr/bin/make -f 2 3# Debian package information 4package = strace 5 6DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) 7DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) 8DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) 9 10VERSION := $(shell dpkg-parsechangelog | awk '/^Version: / { print $$2 }') 11UDEB := strace-udeb_$(VERSION)_$(DEB_HOST_ARCH).udeb 12 13arch64_map = i386=x86_64 powerpc=powerpc64 sparc=sparc64 s390=s390x 14ifneq (,$(filter $(DEB_HOST_ARCH)=%, $(arch64_map))) 15 HOST64 = $(strip $(patsubst $(DEB_HOST_ARCH)=%, %, \ 16 $(filter $(DEB_HOST_ARCH)=%, $(arch64_map))))-linux-gnu 17 CC64 = gcc -m64 18 extra_build_targets += stamp-build64 19endif 20 21ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) 22 CONFIG_OPTS = --build=$(DEB_BUILD_GNU_TYPE) 23else 24 CONFIG_OPTS = --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) 25endif 26 27all build: stamp-build $(extra_build_targets) 28 29stamp-%: %/Makefile 30 $(MAKE) -C $* 31 touch $@ 32 33build/Makefile: 34 mkdir -p $(@D) 35 cd $(@D); sh ../configure --prefix=/usr $(CONFIG_OPTS) 36 37build64/Makefile: 38 mkdir -p $(@D) 39 cd $(@D); CC="$(CC64)" sh ../configure --prefix=/usr --build=$(DEB_BUILD_GNU_TYPE) --host=$(HOST64) 40 41clean: 42 rm -rf debian/$(package) debian/substvars debian/files debian/files~ 43 rm -rf build64 stamp-build64 44 rm -rf build stamp-build 45 46binary: binary-indep binary-arch 47 48binary-indep: 49 50binary-arch: build checkroot 51 test -f stamp-build || make $(MFLAGS) -f debian/rules build 52 -rm -rf debian/$(package) debian/files debian/substvars 53 54 install -d -m 755 -o root -g root debian/$(package) 55 # reset the mode to work around a bug in install 56 chown 755 debian/$(package) 57 install -d -m 755 -o root -g root debian/$(package)/DEBIAN 58 59# Install strace 60 install -d -o root -g root -m 755 debian/$(package)/usr/bin 61 install -o root -g root -m 755 build/strace \ 62 debian/$(package)/usr/bin/strace 63 dh_strip 64 65 dpkg-gencontrol -is -pstrace-udeb -fdebian/files~ 66 dpkg-deb --build debian/$(package) ../$(UDEB) 67 dpkg-distaddfile $(UDEB) debian-installer extra 68 69# Install documentation 70 install -d -o root -g root -m 755 \ 71 debian/$(package)/usr/share/doc/$(package) 72 install -d -o root -g root -m 755 debian/$(package)/usr/share/man/man1 73 install -p -o root -g root -m 644 debian/changelog \ 74 debian/$(package)/usr/share/doc/$(package)/changelog.Debian 75 install -p -o root -g root -m 644 TODO \ 76 debian/$(package)/usr/share/doc/$(package)/TODO 77 install -p -o root -g root -m 644 NEWS \ 78 debian/$(package)/usr/share/doc/$(package)/changelog 79 gzip -9 debian/$(package)/usr/share/doc/$(package)/* 80 install -p -o root -g root -m 644 debian/copyright \ 81 debian/$(package)/usr/share/doc/$(package)/copyright 82 install -p -o root -g root -m 644 strace.1 \ 83 debian/$(package)/usr/share/man/man1/strace.1 84 gzip -9 debian/$(package)/usr/share/man/man1/strace.1 85 86ifneq (,$(HOST64)) 87 install -o root -g root -m 755 build64/strace debian/$(package)/usr/bin/strace64 88 ln -s strace.1.gz debian/$(package)/usr/share/man/man1/strace64.1.gz 89 dh_strip 90endif 91 92 dpkg-shlibdeps build/strace $(patsubst yes,build64/strace,$(build64)) 93 94 dpkg-gencontrol -is -pstrace 95 dpkg-deb --build debian/$(package) .. 96 97checkroot: 98 test root = "`whoami`" 99