1d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkerman#! /usr/bin/make -f
2d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkerman
30c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler#export DH_VERBOSE=1
4881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schüler
54182981f6d025d8e753f3da635df5832c0c6d99dDmitry V. Levinexport DEB_BUILD_MAINT_OPTIONS = hardening=+all
64182981f6d025d8e753f3da635df5832c0c6d99dDmitry V. LevinDPKG_EXPORT_BUILDFLAGS = 1
74182981f6d025d8e753f3da635df5832c0c6d99dDmitry V. Levininclude /usr/share/dpkg/buildflags.mk
84182981f6d025d8e753f3da635df5832c0c6d99dDmitry V. Levin
94182981f6d025d8e753f3da635df5832c0c6d99dDmitry V. LevinCFLAGS += -Wall -g
10881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schüler
11881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schülerifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
12881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schüler  CFLAGS += -O0
13881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schülerelse
14881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schüler  CFLAGS += -O2
15881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schülerendif
16d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkerman
170c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schülerifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
180c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler  NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
190c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler  MAKEFLAGS += -j$(NUMJOBS)
200c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schülerendif
210c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler
2238d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrathDEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
23c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrathDEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
2498d5f01f37b91a54d3453daa0ab9664ee9e701c1Roland McGrathDEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
2598d5f01f37b91a54d3453daa0ab9664ee9e701c1Roland McGrath
2675df90ee416be3e2196e0977cd405053df505073Roland McGratharch64_map = i386=x86_64 powerpc=powerpc64 sparc=sparc64 s390=s390x
2775df90ee416be3e2196e0977cd405053df505073Roland McGrathifneq (,$(filter $(DEB_HOST_ARCH)=%, $(arch64_map)))
2875df90ee416be3e2196e0977cd405053df505073Roland McGrath  HOST64 = $(strip $(patsubst $(DEB_HOST_ARCH)=%, %, \
2975df90ee416be3e2196e0977cd405053df505073Roland McGrath	     $(filter $(DEB_HOST_ARCH)=%, $(arch64_map))))-linux-gnu
30c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath  CC64 = gcc -m64
310c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler  extra_build_targets += build64-stamp
32c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrathendif
33c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath
3438d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrathifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
3538d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrath  CONFIG_OPTS = --build=$(DEB_BUILD_GNU_TYPE)
3638d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrathelse
3738d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrath  CONFIG_OPTS = --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
3838d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrathendif
3938d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrath
400c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schülerall build: build-stamp $(extra_build_targets)
41c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath
420c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler%-stamp: %/Makefile
43c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath	$(MAKE) -C $*
44983e875c1c150ef73c39c27de80c430c7f2a46eaDmitry V. Levinifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
45983e875c1c150ef73c39c27de80c430c7f2a46eaDmitry V. Levin	$(MAKE) -C $* check
46983e875c1c150ef73c39c27de80c430c7f2a46eaDmitry V. Levinendif
47c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath	touch $@
48c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath
49c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrathbuild/Makefile:
50c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath	mkdir -p $(@D)
5138d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrath	cd $(@D); sh ../configure --prefix=/usr $(CONFIG_OPTS)
52c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath
53c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrathbuild64/Makefile:
54c9b624f4aaddd2cd8e27ec599c3bfbcb7287c4adRoland McGrath	mkdir -p $(@D)
5538d88e649424cc8ecf1f0704b2af39f6a1a8ae3eRoland McGrath	cd $(@D); CC="$(CC64)" sh ../configure --prefix=/usr --build=$(DEB_BUILD_GNU_TYPE) --host=$(HOST64)
56d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkerman
57d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkermanclean:
58881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schüler	dh_testdir
59881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schüler	dh_testroot
600c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler	rm -rf build build64 strace64.1
616019fbbf47e22995beffd6a82a2c435845e241e4Roland McGrath	dh_clean
62d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkerman
63d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkermanbinary: binary-indep binary-arch
64d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkerman
65d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkermanbinary-indep:
66d321ff95f2c077d8e2fcecda210cbbcd4f2005c1Wichert Akkerman
67881f573876e2223ae5c2cedaa32a3b0d6b9ff339Frederik Schülerbinary-arch: build
680c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler	test -f build-stamp || make $(MFLAGS) -f debian/rules build
69414fe7d4d284e22d7855c5367f17dbc0714738d9Dmitry V. Levin
70a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	# prepare 64bit executable and manpage, if it has been built
710c56f62207d81713f9ce7705e865b75f921e6a1bFrederik Schüler	test -f build64-stamp && ( mv build64/strace build64/strace64 ; \
72a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath		cp strace.1 strace64.1 ) || true
73414fe7d4d284e22d7855c5367f17dbc0714738d9Dmitry V. Levin
74a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_testdir -s
75a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_testroot -s
76a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_installdirs -s
77a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_installdocs -s
78a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_installman -s
79a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_installexamples -s
80f786da5b1be84743bd9287304b6dad3633339ed8Frederik Schüler	dh_installchangelogs -s
81a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_install -s
82a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_link -s
83a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_strip -s
84a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_compress -s
85a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_fixperms -s
86a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_installdeb -s
87a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_shlibdeps -s
88a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_gencontrol -s
89a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_md5sums -s
90a04e213e6aa38f8dba20b5bfe1ebe864922712b0Roland McGrath	dh_builddeb -s
91