2004-08-31 Roland McGrath <roland@redhat.com>
* debian/rules: Rewrite sparc64 change of 2004-07-12.
Always do each build in a separate build directory.
Fixes Debian bug #254728.
diff --git a/debian/rules b/debian/rules
index cdce167..4646e17 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,22 +3,42 @@
# Debian package information
package = strace
-all build: Makefile
- $(MAKE) $(MFLAGS)
- touch stamp-build
+DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-Makefile:
- sh configure --prefix=/usr
+ifeq ($(DEB_HOST_GNU_TYPE),sparc-linux)
+ build64 = yes
+ HOST64 = sparc64-linux
+ CC64 = gcc -m64
+endif
+
+ifeq ($(build64),yes)
+ extra_build_targets += stamp-build64
+endif
+
+all build: stamp-build
+
+stamp-%: %/Makefile
+ $(MAKE) -C $*
+ touch $@
+
+build/Makefile:
+ mkdir -p $(@D)
+ cd $(@D); sh ../configure --prefix=/usr
+
+build64/Makefile:
+ mkdir -p $(@D)
+ cd $(@D); CC="$(CC64)" sh ../configure --prefix=/usr --build=$(HOST64)
+
clean:
- test ! -f Makefile || $(MAKE) distclean
- rm -f stamp-build
rm -rf debian/tmp debian/substvars debian/files
+ rm -rf build64 stamp-build64
+ rm -rf build stamp-build
binary: binary-indep binary-arch
binary-indep:
-binary-arch: build checkroot
+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
@@ -41,10 +61,15 @@
# Install strace
install -d -o root -g root -m 755 debian/tmp/usr/bin debian/tmp/usr/share/man/man1
- install -s -o root -g root -m 755 strace debian/tmp/usr/bin/strace
+ install -s -o root -g root -m 755 build/strace debian/tmp/usr/bin/strace
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 debian/tmp/usr/share/man/man1/strace64.1
+endif
+
dpkg-shlibdeps strace
dpkg-gencontrol -isp
dpkg --build debian/tmp ..