#\r
\r
LUFA_BUILD_MODULES += AVRDUDE\r
-LUFA_BUILD_TARGETS += program program_ee\r
+LUFA_BUILD_TARGETS += avrdude avrdude-ee\r
LUFA_BUILD_MANDATORY_VARS += MCU TARGET\r
LUFA_BUILD_OPTIONAL_VARS += AVRDUDE_PROGRAMMER AVRDUDE_PORT AVRDUDE_FLAGS\r
\r
# -----------------------------------------------------------------------------\r
# TARGETS:\r
#\r
-# program - Program target FLASH with application using\r
+# avrdude - Program target FLASH with application using\r
# avrdude\r
-# program_ee - Program target EEPROM with application data\r
+# avrdude-ee - Program target EEPROM with application data\r
# using avrdude\r
#\r
# MANDATORY PARAMETERS:\r
# -----------------------------------------------------------------------------\r
\r
# Sanity-check values of mandatory user-supplied variables\r
-MCU ?= $(error Makefile MCU value not set.)\r
-TARGET ?= $(error Makefile TARGET value not set.)\r
+MCU ?= $(error Makefile MCU value not set)\r
+TARGET ?= $(error Makefile TARGET value not set)\r
+\r
+ifeq ($(MCU),)\r
+ $(error Makefile MCU option cannot be blank)\r
+endif\r
+ifeq ($(TARGET),)\r
+ $(error Makefile TARGET option cannot be blank)\r
+endif\r
\r
# Default values of optionally user-supplied variables\r
AVRDUDE_PROGRAMMER ?= jtagicemkii\r
# Output Messages\r
MSG_AVRDUDE_CMD := ' [AVRDUDE] :'\r
\r
+# Construct flags to use for the different memory spaces\r
AVRDUDE_FLASH_FLAGS = -U flash:w:$< $(AVRDUDE_FLAGS)\r
AVRDUDE_EEP_FLAGS = -U eeprom:w:$< $(AVRDUDE_FLAGS)\r
\r
-program: $(TARGET).hex\r
- @echo $(MSG_AVRDUDE_CMD) Programming device \"$(MCU)\" with settings \"$(AVRDUDE_FLASH_FLAGS)\" using \"$(AVRDUDE_PROGRAMMER)\" on port \"$(AVRDUDE_PORT)\"\r
+avrdude: $(TARGET).hex $(MAKEFILE_LIST)\r
+ @echo $(MSG_AVRDUDE_CMD) Programming device \"$(MCU)\" FLASH with settings \"$(AVRDUDE_FLASH_FLAGS)\" using \"$(AVRDUDE_PROGRAMMER)\" on port \"$(AVRDUDE_PORT)\"\r
avrdude -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) $(AVRDUDE_FLASH_FLAGS)\r
\r
-program_ee: $(TARGET).eep\r
- @echo $(MSG_AVRDUDE_CMD) Programming device \"$(MCU)\" with settings \"$(AVRDUDE_EEP_FLAGS)\" using \"$(AVRDUDE_PROGRAMMER)\" on port \"$(AVRDUDE_PORT)\"\r
+avrdude-ee: $(TARGET).eep $(MAKEFILE_LIST)\r
+ @echo $(MSG_AVRDUDE_CMD) Programming device \"$(MCU)\" EEPROM with settings \"$(AVRDUDE_EEP_FLAGS)\" using \"$(AVRDUDE_PROGRAMMER)\" on port \"$(AVRDUDE_PORT)\"\r
avrdude -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) $(AVRDUDE_EEP_FLAGS)\r
+\r
+# Phony build targets for this module\r
+.PHONY: avrdude avrdude-ee\r