blob: e17c612453ba5d6f348af19f2cb0d1cfb7a62d03 [file] [log] [blame]
#! /usr/bin/make -f
# Debian package information
package = strace
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)
VERSION := $(shell dpkg-parsechangelog | awk '/^Version: / { print $$2 }')
UDEB := strace-udeb_$(VERSION)_$(DEB_HOST_ARCH).udeb
ifeq ($(DEB_HOST_GNU_TYPE),sparc-linux)
build64 = yes
HOST64 = sparc64-linux
CC64 = gcc -m64
endif
ifeq ($(DEB_HOST_GNU_TYPE),s390-linux)
build64 = yes
HOST64 = s390x-linux
CC64 = gcc -m64
endif
ifeq ($(build64),yes)
extra_build_targets += stamp-build64
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: stamp-build
stamp-%: %/Makefile
$(MAKE) -C $*
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:
rm -rf debian/tmp debian/substvars debian/files debian/files~
rm -rf build64 stamp-build64
rm -rf build stamp-build
binary: binary-indep binary-arch
binary-indep:
binary-arch: $(extra_build_targets) build checkroot
test -f stamp-build || make $(MFLAGS) -f debian/rules build
-rm -rf debian/tmp debian/files debian/substvars
install -d -m 755 -o root -g root debian/tmp
# reset the mode to work around a bug in install
chown 755 debian/tmp
install -d -m 755 -o root -g root debian/tmp/DEBIAN
# Install strace
install -d -o root -g root -m 755 debian/tmp/usr/bin
install -s -o root -g root -m 755 build/strace debian/tmp/usr/bin/strace
dpkg-gencontrol -is -pstrace-udeb -fdebian/files~
dpkg-deb --build debian/tmp ../$(UDEB)
dpkg-distaddfile $(UDEB) debian-installer extra
# Install documentation
install -d -o root -g root -m 755 debian/tmp/usr/share/doc/$(package)
install -d -o root -g root -m 755 debian/tmp/usr/share/man/man1
install -p -o root -g root -m 644 debian/changelog \
debian/tmp/usr/share/doc/$(package)/changelog.Debian
install -p -o root -g root -m 644 TODO \
debian/tmp/usr/share/doc/$(package)/TODO
install -p -o root -g root -m 644 NEWS \
debian/tmp/usr/share/doc/$(package)/changelog
gzip -9 debian/tmp/usr/share/doc/$(package)/*
install -p -o root -g root -m 644 debian/copyright \
debian/tmp/usr/share/doc/$(package)/copyright
install -p -o root -g root -m 644 strace.1 debian/tmp/usr/share/man/man1/strace.1
gzip -9 debian/tmp/usr/share/man/man1/strace.1
ifeq ($(build64),yes)
install -s -o root -g root -m 755 build64/strace debian/tmp/usr/bin/strace64
ln -s strace.1.gz debian/tmp/usr/share/man/man1/strace64.1.gz
endif
dpkg-shlibdeps build/strace $(patsubst yes,build64/strace,$(build64))
dpkg-gencontrol -is -pstrace
dpkg-deb --build debian/tmp ..
checkroot:
test root = "`whoami`"