#!/usr/bin/make -f

include /usr/share/dpkg/architecture.mk
include /usr/share/dpkg/buildtools.mk

export DH_VERBOSE=1
export TF_CFLAGS += -ffile-prefix-map=$(CURDIR)=.

# Enable verbose build by default, disable when terse is specified.
ifneq (,$(filter terse,$(DEB_BUILD_OPTIONS)))
VERBOSE=0
else
VERBOSE=1
endif

platforms := g12a gxbb sun50i_a64 sun50i_h6 rk3328 rk3399 rpi3 rpi4
target = $(if $(filter rk3328 rk3399,$@),bl31/bl31.elf,bl31.bin)

%:
	dh $@

override_dh_auto_build:
# Disable building of arm-trusted-firmware-tools
ifeq ($(filter pkg.arm-trusted-firmware.notools,$(DEB_BUILD_PROFILES)),)
	dh_auto_build --sourcedir=tools/fiptool     -- DEBUG=1 V=$(VERBOSE) HOSTCC=$(CC) HOSTCCFLAGS="$(CFLAGS) $(CPPFLAGS)"
	dh_auto_build --sourcedir=tools/cert_create -- DEBUG=1 V=$(VERBOSE) HOSTCC=$(CC) HOSTCCFLAGS="$(CFLAGS) $(CPPFLAGS) -std=c99 -DUSE_TBBR_DEFS=1"
endif
# Only build firmware on arm64.
ifeq ($(DEB_HOST_ARCH),arm64)
  override_dh_auto_build: $(platforms)
  $(platforms):
	# Always set CROSS_COMPILE, which also works for native builds.
	CROSS_COMPILE=aarch64-linux-gnu- CFLAGS= LDFLAGS= dh_auto_build -- V=$(VERBOSE) DEBUG=1 PLAT=$@ bl31
	install -m644 build/$@/debug/$(target) -Dt build/renamed/$@
endif

override_dh_installchangelogs:
	dh_installchangelogs -parm-trusted-firmware docs/change-log.md
	dh_installchangelogs -parm-trusted-firmware-tools
