rules revision 983e875c1c150ef73c39c27de80c430c7f2a46ea
1d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkerman#! /usr/bin/make -f
2d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkerman
30c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler#export DH_VERBOSE=1
4881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schüler
5881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik SchülerCFLAGS = -Wall -g
6881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schüler
7881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schülerifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
8881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schüler  CFLAGS += -O0
9881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schülerelse
10881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schüler  CFLAGS += -O2
11881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schülerendif
12d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkerman
130c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schülerifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
140c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler  NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
150c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler  MAKEFLAGS += -j$(NUMJOBS)
160c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schülerendif
170c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler
1838d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrathDEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
19c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrathDEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
2098d5f01f37b91a54d3453daa0ab9664ee9e701c1Roland McGrathDEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
2198d5f01f37b91a54d3453daa0ab9664ee9e701c1Roland McGrath
2275df90ee416be3e2196e0977cd405053df505073Roland McGratharch64_map = i386=x86_64 powerpc=powerpc64 sparc=sparc64 s390=s390x
2375df90ee416be3e2196e0977cd405053df505073Roland McGrathifneq (,$(filter $(DEB_HOST_ARCH)=%, $(arch64_map)))
2475df90ee416be3e2196e0977cd405053df505073Roland McGrath  HOST64 = $(strip $(patsubst $(DEB_HOST_ARCH)=%, %, \
2575df90ee416be3e2196e0977cd405053df505073Roland McGrath	     $(filter $(DEB_HOST_ARCH)=%, $(arch64_map))))-linux-gnu
26c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath  CC64 = gcc -m64
270c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler  extra_build_targets += build64-stamp
28c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrathendif
29c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath
3038d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrathifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
3138d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrath  CONFIG_OPTS = --build=$(DEB_BUILD_GNU_TYPE)
3238d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrathelse
3338d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrath  CONFIG_OPTS = --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
3438d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrathendif
3538d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrath
360c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schülerall build: build-stamp $(extra_build_targets)
37c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath
380c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler%-stamp: %/Makefile
39c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath	$(MAKE) -C $*
40983e875c1c150ef73c39c27de80c430c7f2a46eaDmitry V. Levinifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
41983e875c1c150ef73c39c27de80c430c7f2a46eaDmitry V. Levin	$(MAKE) -C $* check
42983e875c1c150ef73c39c27de80c430c7f2a46eaDmitry V. Levinendif
43c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath	touch $@
44c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath
45c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrathbuild/Makefile:
46c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath	mkdir -p $(@D)
4738d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrath	cd $(@D); sh ../configure --prefix=/usr $(CONFIG_OPTS)
48c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath
49c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrathbuild64/Makefile:
50c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath	mkdir -p $(@D)
5138d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrath	cd $(@D); CC="$(CC64)" sh ../configure --prefix=/usr --build=$(DEB_BUILD_GNU_TYPE) --host=$(HOST64)
52d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkerman
53d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkermanclean:
54881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schüler	dh_testdir
55881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schüler	dh_testroot
560c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler	rm -rf build build64 strace64.1
576019fbbf47e22995beffd6a82a2c435845e241e4Roland McGrath	dh_clean
58d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkerman
59d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkermanbinary: binary-indep binary-arch
60d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkerman
61d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkermanbinary-indep:
62d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkerman
63881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schülerbinary-arch: build
640c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler	test -f build-stamp || make $(MFLAGS) -f debian/rules build
65414fe7d4d284e22d7855c5367f17dbc0714738d9Dmitry V. Levin
66a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	# prepare 64bit executable and manpage, if it has been built
670c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler	test -f build64-stamp && ( mv build64/strace build64/strace64 ; \
68a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath		cp strace.1 strace64.1 ) || true
69414fe7d4d284e22d7855c5367f17dbc0714738d9Dmitry V. Levin
70a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_testdir -s
71a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_testroot -s
72a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_installdirs -s
73a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_installdocs -s
74a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_installman -s
75a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_installexamples -s
76f786da5b1be84743bd9287304b6dad3633339ed8Frederik Schüler	dh_installchangelogs -s
77a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_install -s
78a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_link -s
79a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_strip -s
80a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_compress -s
81a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_fixperms -s
82a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_installdeb -s
83a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_shlibdeps -s
84a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_gencontrol -s
85a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_md5sums -s
86a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_builddeb -s
87