#! /usr/bin/make -f

#export DH_VERBOSE=1

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)

arch64_map = i386=x86_64 powerpc=powerpc64 sparc=sparc64 s390=s390x
ifneq (,$(filter $(DEB_HOST_ARCH)=%, $(arch64_map)))
  HOST64 = $(strip $(patsubst $(DEB_HOST_ARCH)=%, %, \
	     $(filter $(DEB_HOST_ARCH)=%, $(arch64_map))))-linux-gnu
  CC64 = gcc -m64
  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 $(extra_build_targets)

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:
	dh_clean
	rm -rf debian/strace debian/strace-udeb debian/substvars debian/files debian/files~
	rm -rf build64 stamp-build64 strace64.1
	rm -rf build stamp-build

binary: binary-indep binary-arch

binary-indep:

binary-arch: build checkroot
	test -f stamp-build || make $(MFLAGS) -f debian/rules build

	# prepare 64bit executable and manpage, if it has been built
	test -f stamp-build64 && ( mv build64/strace build64/strace64 ; \
		cp strace.1 strace64.1 ) || true

	dh_testdir -s
	dh_testroot -s
	dh_installdirs -s
	dh_installdocs -s
	dh_installman -s
	dh_installexamples -s
	dh_installchangelogs -s
	dh_install -s
	dh_link -s
	dh_strip -s
	dh_compress -s
	dh_fixperms -s
	dh_installdeb -s
	dh_shlibdeps -s
	dh_gencontrol -s
	dh_md5sums -s
	dh_builddeb -s

checkroot:
	test root = "`whoami`"
