#! /usr/bin/make -f

#export DH_VERBOSE=1

CFLAGS = -Wall -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
  CFLAGS += -O0
else
  CFLAGS += -O2
endif

ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
  NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
  MAKEFLAGS += -j$(NUMJOBS)
endif

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 += build64-stamp
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: build-stamp $(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_testdir
	dh_testroot
	rm -rf build build64 strace64.1
	dh_clean

binary: binary-indep binary-arch

binary-indep:

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

	# prepare 64bit executable and manpage, if it has been built
	test -f build64-stamp && ( 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
