#!/usr/bin/make -f

DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)

# The architecture we are building on
ifneq (,$(findstring i386,$(DEB_BUILD_ARCH)))
	BUILD_ARCH := ia32
else ifneq (,$(findstring amd64,$(DEB_BUILD_ARCH)))
	BUILD_ARCH := x86_64
else
	BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_GNU_CPU)
endif

# The architecture we are building for
ifneq (,$(findstring i386,$(DEB_HOST_ARCH)))
	HOST_ARCH := ia32
	COMPAT_ARCH := x86_64
	COMPAT_APPEND := 64
else ifneq (,$(findstring amd64,$(DEB_HOST_ARCH)))
	HOST_ARCH := x86_64
	COMPAT_ARCH := ia32
	COMPAT_APPEND := 32
else
	# ARM CPUs
	HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
endif

%:
	dh $@

override_dh_auto_clean:
	$(MAKE) clean ARCH=$(HOST_ARCH)
ifneq (,$(COMPAT_ARCH))
		$(MAKE) clean ARCH=$(COMPAT_ARCH) HOSTARCH=$(BUILD_ARCH)
endif

override_dh_auto_build:
	$(MAKE) ARCH=$(HOST_ARCH)
ifneq (,$(COMPAT_ARCH))
		$(MAKE) ARCH=$(COMPAT_ARCH) HOSTARCH=$(BUILD_ARCH)
endif

# Fixme: This somehow rebuilds some parts
override_dh_auto_install:
	$(MAKE) install ARCH=$(HOST_ARCH) INSTALLROOT=$(CURDIR)/debian/gnu-efi PREFIX=/usr LIBDIR=/usr/lib
ifneq (,$(COMPAT_ARCH))
	$(MAKE) install ARCH=$(COMPAT_ARCH) HOSTARCH=$(BUILD_ARCH) INSTALLROOT=$(CURDIR)/debian/gnu-efi PREFIX=/usr LIBDIR=/usr/lib$(COMPAT_APPEND)
endif
