#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#DH_VERBOSE = 1

# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk

# main packaging script based on dh7 syntax
%:
	dh $@

override_dh_install:
	dh_install
	debian/compress-firmware

override_dh_installdeb:
	dh_installdeb \
		--define DIVERSIONS=@debian/diversions \
		--define COMMON=@debian/$(DEB_SOURCE).common

override_dh_strip:
	# Don't strip anything; it's all pre-built binary blobs and some of
	# it is foreign architecture anyway

BOOTCOMMIT:= dc94391863445ab867782d25ca6ae1e88579df5d
BOOTFILES := \
	LICENCE.broadcom \
	bootcode.bin \
	fixup.dat \
	fixup4.dat \
	fixup4cd.dat \
	fixup4db.dat \
	fixup4x.dat \
	fixup_cd.dat \
	fixup_db.dat \
	fixup_x.dat \
	start.elf \
	start4.elf \
	start4cd.elf \
	start4db.elf \
	start4x.elf \
	start_cd.elf \
	start_db.elf \
	start_x.elf

# 1.2-9+rpt3
BTCOMMIT:= 78d6a07730e2d20c035899521ab67726dc028e1c
BTFILES := \
	broadcom/BCM4343A1.hcd \
	broadcom/BCM4343B0.hcd \
	broadcom/BCM4343A2.hcd \
	broadcom/BCM4345C0.hcd \
	broadcom/BCM4345C5.hcd \
	broadcom/LICENSE.cypress \
	synaptics/SYN43430A1.hcd \
	synaptics/SYN43430B0.hcd \
	synaptics/LICENSE.synaptics

# 1:20230625-2+rpt2
WIFICOMMIT:= 223ccf3a3ddb11b3ea829749fbbba4d65b380897
WIFIFILES := \
	brcm/brcmfmac43430-sdio.txt \
	brcm/brcmfmac43436-sdio.bin \
	brcm/brcmfmac43436-sdio.clm_blob \
	brcm/brcmfmac43436-sdio.txt \
	brcm/brcmfmac43436s-sdio.bin \
	brcm/brcmfmac43436s-sdio.txt \
	brcm/brcmfmac43455-sdio.txt \
	brcm/brcmfmac43456-sdio.bin \
	brcm/brcmfmac43456-sdio.clm_blob \
	brcm/brcmfmac43456-sdio.txt \
	cypress/README.txt \
	cypress/cyfmac43430-sdio.bin \
	cypress/cyfmac43430-sdio.clm_blob \
	cypress/cyfmac43455-sdio-minimal.bin \
	cypress/cyfmac43455-sdio-standard.bin \
	cypress/cyfmac43455-sdio.clm_blob

# get-orig-file,output-dir,source-file,repo-url
get-orig-file = mkdir -p $(1)/$(dir $(2)) ; wget -O $(1)/$(2) -- $(3)/$(2) ;

get-orig-source:
	rm -rf boot bluez nonfree

	set -x; $(foreach file,$(BOOTFILES),$(call get-orig-file,boot,$(file),\
		https://github.com/raspberrypi/firmware/raw/$(BOOTCOMMIT)/boot))
	set -x; $(foreach file,$(BTFILES),$(call get-orig-file,bluez,$(file),\
		https://github.com/RPi-Distro/bluez-firmware/raw/$(BTCOMMIT)/debian/firmware))
	set -x; $(foreach file,$(WIFIFILES),$(call get-orig-file,nonfree,$(file),\
		https://github.com/RPi-Distro/firmware-nonfree/raw/$(WIFICOMMIT)/debian/config/brcm80211))

	mkdir $(DEB_SOURCE)-$(DEB_VERSION_UPSTREAM)
	tar -czf ../$(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz $(DEB_SOURCE)-$(DEB_VERSION_UPSTREAM)
	tar -czf ../$(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM).orig-boot.tar.gz boot/
	tar -czf ../$(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM).orig-bluez.tar.gz bluez/
	tar -czf ../$(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM).orig-nonfree.tar.gz nonfree/
	rmdir $(DEB_SOURCE)-$(DEB_VERSION_UPSTREAM)
