#!/usr/bin/make -f
# -*- makefile -*-

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

BOOTLOADER_ATMEGA_TARGETS = \
 atmega328 \
 atmega328_notp \
 atmega328_pro8 \
 diecimila \
 lilypad \
 lilypad_resonator \
 mega \
 ng \
 pro16 \
 pro20 \
 pro8 \
 $(NULL)

BOOTLOADER_BT_TARGETS = \
 atmega328_bt \
 $(NULL)

BOOTLOADER_OPTIBOOT_TARGETS = \
 atmega8 \
 atmega168 \
 atmega328 \
 $(NULL)

%:
	dh $@

override_dh_install:
	@echo "(Re)build .hex files for Atmega bootloaders..."
	@cd bootloaders/atmega &&\
	make clean &&\
	for TARGET in $(BOOTLOADER_ATMEGA_TARGETS); do\
		echo "#" ;\
		echo "# Folder 'bootloaders/atmega'" ;\
		echo "# Build target $${TARGET}" ;\
		echo "##############################" ;\
		make $${TARGET} ;\
		echo ;\
	done
	@echo "(Re)build .hex file for Atmega8 bootloader..."
	@cd bootloaders/atmega8 &&\
	echo "# Folder 'bootloaders/atmega8'" &&\
	make clean && make all
	@echo "(Re)build .hex files for bt bootloaders..."
	@cd bootloaders/bt &&\
	make clean &&\
	for TARGET in $(BOOTLOADER_BT_TARGETS); do\
		echo "#" ;\
		echo "# Folder 'bootloaders/bt'" ;\
		echo "# Build target $${TARGET}" ;\
		echo "##############################" ;\
		make $${TARGET} ;\
		echo ;\
	done
	# TODO
	# Rebuild the .hex files in the folders
	#   bootloaders/caterina
	#   bootloaders/caterina-Arduino_Robot
	#   bootloaders/caterina-LilyPadUSB
	#
	# TODO
	# Rebuild the .hex file in
	#   bootloaders/gemma
	# This is a more expenses task as this requires the sources of the
	# Adafruit-Trinket-Gemma-Bootloader (https://github.com/adafruit/Adafruit-Trinket-Gemma-Bootloader)
	#
	# TODO
	# Rebuild the .hex file in
	#   bootloaders/lilypad/src
	# Fails probably due newer avr-gcc
	#
	@echo "(Re)build .hex files for optiboot bootloaders..."
	@cd bootloaders/optiboot &&\
	make clean &&\
	for TARGET in $(BOOTLOADER_OPTIBOOT_TARGETS); do\
		echo "#" ;\
		echo "# Folder 'bootloaders/optiboot'" ;\
		echo "# Build target $${TARGET}" ;\
		echo "##############################" ;\
		make $${TARGET} ;\
		echo ;\
	done
	@echo "(Re)build .hex files for stk500v2 bootloaders..."
	@cd bootloaders/stk500v2 &&\
	make clean &&\
	make mega2560
	find bootloaders -type f \( -name Makefile -o -name ".c" -o -name ".h" \) -exec chmod -x {} \;
	dh_install