46 lines
1.3 KiB
Makefile
46 lines
1.3 KiB
Makefile
|
# Master makefile to flash tool projects
|
||
|
#
|
||
|
# Parameter;
|
||
|
# MASTER_FLASH_PROG = The hex file to flash
|
||
|
#
|
||
|
# Option Parameter;
|
||
|
# MASTER_FLASH_BOOT = The bootloader to flash
|
||
|
# MASTER_FLASH_PAIR_EXTRA = extra pair list of hex files to flash,
|
||
|
# note where the keyword optiboot get replaced by the optiboot hex file.
|
||
|
#
|
||
|
|
||
|
ifndef MASTER_FLASH_PROG
|
||
|
$(error $$(MASTER_FLASH_PROG) not defined)
|
||
|
endif
|
||
|
|
||
|
# Define libary includes
|
||
|
MASTER_LIBS = isp-repair
|
||
|
|
||
|
# Include our master
|
||
|
include ../lib-build/make/Makefile.master
|
||
|
|
||
|
HEX_FILE_BOOT_OPTI = $(ARD_HOME)/hardware/arduino/avr/bootloaders/optiboot/optiboot_atmega328.hex
|
||
|
HEX_FILE_BLINK_TEST = ../xnode-test-blink/build/xnode-test-blink.hex
|
||
|
|
||
|
# Define local variables
|
||
|
HEX2C = tclsh ../lib-build/tools/mega-hex2c.tcl
|
||
|
HEX_DATA = xnode-flashdata.generated
|
||
|
HEX_PAIR_BLINK = $(HEX_FILE_BOOT_OPTI) $(HEX_FILE_BLINK_TEST)
|
||
|
MASTER_FLASH_BOOT ?= $(HEX_FILE_BOOT_OPTI)
|
||
|
HEX_PAIR_MASTER = $(MASTER_FLASH_BOOT) $(MASTER_FLASH_PROG)
|
||
|
HEX_PAIR_EXTRA = $(subst optiboot,$(HEX_FILE_BOOT_OPTI),$(MASTER_FLASH_PAIR_EXTRA))
|
||
|
HEX_PAIR_LIST = $(HEX_PAIR_BLINK) $(HEX_PAIR_MASTER) $(HEX_PAIR_EXTRA)
|
||
|
|
||
|
# Hook in our local extra build targets
|
||
|
clean : clean-hex
|
||
|
$(BUILD_DIR) : $(HEX_DATA)
|
||
|
|
||
|
# Generate flashdata before compiling
|
||
|
$(HEX_DATA) :
|
||
|
$(HEX2C) $(HEX_PAIR_LIST) > $(HEX_DATA)
|
||
|
|
||
|
clean-hex :
|
||
|
$(RM) $(HEX_DATA)
|
||
|
|
||
|
|