xref: /aosp_15_r20/external/strace/debian/rules (revision cf84ac9a129d8ea9952db616b4e9b904c4bdde56)
1*cf84ac9aSAndroid Build Coastguard Worker#! /usr/bin/make -f
2*cf84ac9aSAndroid Build Coastguard Worker
3*cf84ac9aSAndroid Build Coastguard Worker#export DH_VERBOSE=1
4*cf84ac9aSAndroid Build Coastguard Worker
5*cf84ac9aSAndroid Build Coastguard Workerexport DEB_BUILD_MAINT_OPTIONS = hardening=+all
6*cf84ac9aSAndroid Build Coastguard WorkerDPKG_EXPORT_BUILDFLAGS = 1
7*cf84ac9aSAndroid Build Coastguard Workerinclude /usr/share/dpkg/buildflags.mk
8*cf84ac9aSAndroid Build Coastguard Workerinclude /usr/share/dpkg/architecture.mk
9*cf84ac9aSAndroid Build Coastguard Worker
10*cf84ac9aSAndroid Build Coastguard WorkerCFLAGS += -Wall -g
11*cf84ac9aSAndroid Build Coastguard Worker
12*cf84ac9aSAndroid Build Coastguard Workerifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
13*cf84ac9aSAndroid Build Coastguard Worker  CFLAGS += -O0
14*cf84ac9aSAndroid Build Coastguard Workerelse
15*cf84ac9aSAndroid Build Coastguard Worker  CFLAGS += -O2
16*cf84ac9aSAndroid Build Coastguard Workerendif
17*cf84ac9aSAndroid Build Coastguard Worker
18*cf84ac9aSAndroid Build Coastguard Workerifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
19*cf84ac9aSAndroid Build Coastguard Worker  NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
20*cf84ac9aSAndroid Build Coastguard Worker  MAKEFLAGS += -j$(NUMJOBS)
21*cf84ac9aSAndroid Build Coastguard Workerendif
22*cf84ac9aSAndroid Build Coastguard Worker
23*cf84ac9aSAndroid Build Coastguard Workerextra_build_targets += build-udeb-stamp
24*cf84ac9aSAndroid Build Coastguard Worker
25*cf84ac9aSAndroid Build Coastguard Workerarch64_map = i386=x86_64 powerpc=powerpc64 sparc=sparc64 s390=s390x
26*cf84ac9aSAndroid Build Coastguard Workerifneq (,$(filter $(DEB_HOST_ARCH)=%, $(arch64_map)))
27*cf84ac9aSAndroid Build Coastguard Worker  HOST64 = $(strip $(patsubst $(DEB_HOST_ARCH)=%, %, \
28*cf84ac9aSAndroid Build Coastguard Worker	     $(filter $(DEB_HOST_ARCH)=%, $(arch64_map))))-linux-gnu
29*cf84ac9aSAndroid Build Coastguard Worker  CC64 = gcc -m64
30*cf84ac9aSAndroid Build Coastguard Worker  extra_build_targets += build64-stamp
31*cf84ac9aSAndroid Build Coastguard Workerendif
32*cf84ac9aSAndroid Build Coastguard Worker
33*cf84ac9aSAndroid Build Coastguard Workerifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
34*cf84ac9aSAndroid Build Coastguard Worker  CONFIG_OPTS = --build=$(DEB_BUILD_GNU_TYPE)
35*cf84ac9aSAndroid Build Coastguard Workerelse
36*cf84ac9aSAndroid Build Coastguard Worker  CONFIG_OPTS = --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
37*cf84ac9aSAndroid Build Coastguard Workerendif
38*cf84ac9aSAndroid Build Coastguard Worker
39*cf84ac9aSAndroid Build Coastguard Workerall: build
40*cf84ac9aSAndroid Build Coastguard Worker
41*cf84ac9aSAndroid Build Coastguard Workerbuild: build-arch build-indep
42*cf84ac9aSAndroid Build Coastguard Worker
43*cf84ac9aSAndroid Build Coastguard Workerbuild-arch: build-stamp $(extra_build_targets)
44*cf84ac9aSAndroid Build Coastguard Workerbuild-indep: build-stamp $(extra_build_targets)
45*cf84ac9aSAndroid Build Coastguard Worker
46*cf84ac9aSAndroid Build Coastguard Workerconfigure:
47*cf84ac9aSAndroid Build Coastguard Worker	./bootstrap
48*cf84ac9aSAndroid Build Coastguard Worker
49*cf84ac9aSAndroid Build Coastguard Worker%-stamp: %/Makefile
50*cf84ac9aSAndroid Build Coastguard Worker	$(MAKE) -C $*
51*cf84ac9aSAndroid Build Coastguard Workerifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
52*cf84ac9aSAndroid Build Coastguard Worker	$*/strace -V
53*cf84ac9aSAndroid Build Coastguard Worker	$(MAKE) -C $* check VERBOSE=1
54*cf84ac9aSAndroid Build Coastguard Workerendif
55*cf84ac9aSAndroid Build Coastguard Worker	touch $@
56*cf84ac9aSAndroid Build Coastguard Worker
57*cf84ac9aSAndroid Build Coastguard Workerbuild/Makefile: configure
58*cf84ac9aSAndroid Build Coastguard Worker	mkdir -p $(@D)
59*cf84ac9aSAndroid Build Coastguard Worker	cd $(@D); sh ../configure --enable-mpers=check --prefix=/usr $(CONFIG_OPTS)
60*cf84ac9aSAndroid Build Coastguard Worker
61*cf84ac9aSAndroid Build Coastguard Workerbuild-udeb/Makefile: configure
62*cf84ac9aSAndroid Build Coastguard Worker	mkdir -p $(@D)
63*cf84ac9aSAndroid Build Coastguard Worker	cd $(@D); sh ../configure --enable-mpers=check --prefix=/usr \
64*cf84ac9aSAndroid Build Coastguard Worker		--without-stacktrace --without-libiberty $(CONFIG_OPTS)
65*cf84ac9aSAndroid Build Coastguard Worker
66*cf84ac9aSAndroid Build Coastguard Workerbuild64/Makefile: configure
67*cf84ac9aSAndroid Build Coastguard Worker	mkdir -p $(@D)
68*cf84ac9aSAndroid Build Coastguard Worker	cd $(@D); CC="$(CC64)" sh ../configure --enable-mpers=check --prefix=/usr --build=$(DEB_BUILD_GNU_TYPE) --host=$(HOST64)
69*cf84ac9aSAndroid Build Coastguard Worker
70*cf84ac9aSAndroid Build Coastguard Workerclean:
71*cf84ac9aSAndroid Build Coastguard Worker	dh_testdir
72*cf84ac9aSAndroid Build Coastguard Worker	dh_testroot
73*cf84ac9aSAndroid Build Coastguard Worker	rm -rf build build-udeb build64 strace64.1 debian/strace64.substvars
74*cf84ac9aSAndroid Build Coastguard Worker	dh_clean
75*cf84ac9aSAndroid Build Coastguard Worker
76*cf84ac9aSAndroid Build Coastguard Workerbinary: binary-indep binary-arch
77*cf84ac9aSAndroid Build Coastguard Worker
78*cf84ac9aSAndroid Build Coastguard Workerbinary-indep:
79*cf84ac9aSAndroid Build Coastguard Worker
80*cf84ac9aSAndroid Build Coastguard Workerbinary-arch: build
81*cf84ac9aSAndroid Build Coastguard Worker	test -f build-stamp || make $(MFLAGS) -f debian/rules build
82*cf84ac9aSAndroid Build Coastguard Worker
83*cf84ac9aSAndroid Build Coastguard Worker	# prepare 64bit executable and manpage, if it has been built
84*cf84ac9aSAndroid Build Coastguard Worker	test -f build64-stamp && ( mv build64/strace build64/strace64 ; \
85*cf84ac9aSAndroid Build Coastguard Worker		mv build64/strace.1 build64/strace64.1 ) || true
86*cf84ac9aSAndroid Build Coastguard Worker
87*cf84ac9aSAndroid Build Coastguard Worker	dh_testdir -a
88*cf84ac9aSAndroid Build Coastguard Worker	dh_testroot -a
89*cf84ac9aSAndroid Build Coastguard Worker	dh_installdirs -a
90*cf84ac9aSAndroid Build Coastguard Worker	dh_installdocs -a
91*cf84ac9aSAndroid Build Coastguard Worker	dh_installman -a
92*cf84ac9aSAndroid Build Coastguard Worker	dh_installexamples -a
93*cf84ac9aSAndroid Build Coastguard Worker	dh_installchangelogs -a
94*cf84ac9aSAndroid Build Coastguard Worker	dh_install -a
95*cf84ac9aSAndroid Build Coastguard Worker	dh_link -a
96*cf84ac9aSAndroid Build Coastguard Worker	dh_strip -a
97*cf84ac9aSAndroid Build Coastguard Worker	dh_compress -a
98*cf84ac9aSAndroid Build Coastguard Worker	dh_fixperms -a
99*cf84ac9aSAndroid Build Coastguard Worker	dh_installdeb -a
100*cf84ac9aSAndroid Build Coastguard Worker	dh_shlibdeps -a
101*cf84ac9aSAndroid Build Coastguard Worker	dh_gencontrol -a
102*cf84ac9aSAndroid Build Coastguard Worker	dh_md5sums -a
103*cf84ac9aSAndroid Build Coastguard Worker	dh_builddeb -a
104