#!/usr/bin/make -f

verbose := $(if $(filter terse,$(DEB_BUILD_OPTIONS)),,V=1)

platforms = $(foreach p, a64 a64_axp20x a64_axp20x_cec,\
 generic_$p generic_$p_no-serial)

# Jonas Smedegaard <dr@jones.dk>
# maybe Rodrigo Exterckötter Tjäder <rodrigo@tjader.xyz>
platforms_like_generic_a64_axp20x_cec += a64-olinuxino

# Jonas Smedegaard <dr@jones.dk>
# Philip Rinn <rinni@inventati.org>
platforms_like_generic_a64_axp20x_cec += a64-olinuxino-emmc

# Sunil Mohan Adapa <sunil@medhas.org>
platforms_like_generic_a64_axp20x_cec += pine64-lts

# Vagrant Cascadian <vagrant@debian.org>
platforms_like_generic_a64_axp20x_cec += pine64_plus

# Vagrant Cascadian <vagrant@debian.org>
platforms_like_generic_a64_axp20x_no-serial += pinebook

# Arnaud Ferraris <arnaud.ferraris@gmail.com>
# maybe Arnaud Ferraris <arnaud.ferraris@collabora.com> (1.1, 1.2)
# maybe Benoit Delcour <benoit.delcour@gmail.com> (1.2)
platforms_like_generic_a64_axp20x_no-serial += pinephone

# Arnaud Ferraris <arnaud.ferraris@gmail.com>
platforms_like_generic_a64_axp20x_no-serial += pinetab

# Jonas Smedegaard <dr@jones.dk>
platforms_like_generic_a64_axp20x_no-serial += teres_i

%:
	dh $@

# create most generic config, not possible to contain in patch
execute_before_dh_auto_build:
	touch configs/generic_a64_defconfig

override_dh_auto_build: $(platforms)
$(platforms):
	dh_auto_build -- $(verbose) TGT=build/$@ $@_defconfig
	dh_auto_build -- $(verbose) TGT=build/$@ CROSS_COMPILE=or1k-elf- scp
  # Remove execution permissions set by GCC.
  # Move to the parent directory for easyer installation.
  # Rename the binary file after the platform.
	install -m644 build/$@/scp.bin build/$@.bin

override_dh_link:
	dh_link -- $(foreach source,$(platforms),\
		$(foreach target,$(platforms_like_$(source)),\
			usr/lib/crust-firmware/$(source).bin usr/lib/crust-firmware/$(target).bin))
