#!/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

	ln -s ../cypress/cyfmac43430-sdio.bin \
		debian/linux-firmware-raspi/lib/firmware/brcm/brcmfmac43430-sdio.bin
	ln -s ../cypress/cyfmac43430-sdio.clm_blob \
		debian/linux-firmware-raspi/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob
	ln -s brcmfmac43430-sdio.txt \
		debian/linux-firmware-raspi/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
	ln -s brcmfmac43430-sdio.txt \
		debian/linux-firmware-raspi/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt

	ln -s ../cypress/cyfmac43455-sdio.bin \
		debian/linux-firmware-raspi/lib/firmware/brcm/brcmfmac43455-sdio.bin
	ln -s ../cypress/cyfmac43455-sdio.clm_blob \
		debian/linux-firmware-raspi/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
	ln -s brcmfmac43455-sdio.txt \
		debian/linux-firmware-raspi/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
	ln -s brcmfmac43455-sdio.txt \
		debian/linux-firmware-raspi/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
	ln -s brcmfmac43455-sdio.txt \
		debian/linux-firmware-raspi/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
	ln -s brcmfmac43455-sdio.txt \
		debian/linux-firmware-raspi/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt
	ln -s brcmfmac43455-sdio.txt \
		debian/linux-firmware-raspi/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,400.txt

	ln -s brcmfmac43456-sdio.txt \
		debian/linux-firmware-raspi/lib/firmware/brcm/brcmfmac43456-sdio.raspberrypi,4-model-b.txt
	ln -s brcmfmac43456-sdio.txt \
		debian/linux-firmware-raspi/lib/firmware/brcm/brcmfmac43456-sdio.raspberrypi,4-compute-module.txt
	ln -s brcmfmac43456-sdio.txt \
		debian/linux-firmware-raspi/lib/firmware/brcm/brcmfmac43456-sdio.raspberrypi,400.txt

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:= 1.20211118
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

BTCOMMIT:= e7fd166981ab4bb9a36c2d1500205a078a35714d
BTFILES := \
	broadcom/BCM43430A1.hcd \
	broadcom/BCM4345C0.hcd \
	broadcom/BCM4345C5.hcd \
	broadcom/BCM43430B0.hcd

WIFICOMMIT:= 99d5c588e95ec9c9b86d7e88d3cf85b4f729d2bc
WIFIFILES := \
	LICENSE \
	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.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)))
	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)
