Add optional CPPCHECK_FLAGS parameter to the CPPCHECK build module, for miscellaneous...
[pub/lufa.git] / LUFA / Build / lufa.avrdude.in
index e2b8e57..256fdff 100644 (file)
@@ -7,12 +7,12 @@
 #\r
 \r
 LUFA_BUILD_MODULES        += AVRDUDE\r
-LUFA_BUILD_TARGETS        += program\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
-#               LUFA DFU Bootloader Buildsystem Makefile Module.\r
+#             LUFA AVRDUDE Programmer Buildsystem Makefile Module.\r
 # -----------------------------------------------------------------------------\r
 # DESCRIPTION:\r
 #   Provides a set of targets to re-program a device using the open source\r
@@ -20,7 +20,10 @@ LUFA_BUILD_OPTIONAL_VARS  += AVRDUDE_PROGRAMMER AVRDUDE_PORT AVRDUDE_FLAGS
 # -----------------------------------------------------------------------------\r
 # TARGETS:\r
 #\r
-#    program                   - Program target with application using avr-dude\r
+#    avrdude                   - Program target FLASH with application using\r
+#                                avrdude\r
+#    avrdude-ee                - Program target EEPROM with application data\r
+#                                using avrdude\r
 #\r
 # MANDATORY PARAMETERS:\r
 #\r
@@ -35,22 +38,36 @@ LUFA_BUILD_OPTIONAL_VARS  += AVRDUDE_PROGRAMMER AVRDUDE_PORT AVRDUDE_FLAGS
 #\r
 # -----------------------------------------------------------------------------\r
 \r
-# Output Messages\r
-MSG_AVRDUDE_CMD   = '  [AVRDUDE]  :'\r
-\r
-# Default values of user-supplied variables\r
-AVRDUDE_PROGRAMMER  ?= jtagicemkii\r
-AVRDUDE_PORT        ?= usb\r
-AVRDUDE_FLAGS       ?= -U flash:w:$(TARGET).hex\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
 \r
-# Sanity check the user MCU and TARGET makefile options\r
 ifeq ($(MCU),)\r
-   $(error Makefile MCU value not set.)\r
+   $(error Makefile MCU option cannot be blank)\r
 endif\r
 ifeq ($(TARGET),)\r
-   $(error Makefile TARGET value not set.)\r
+   $(error Makefile TARGET option cannot be blank)\r
 endif\r
 \r
-program: $(TARGET).hex\r
-       @echo $(MSG_AVRDUDE_CMD) Programming device \"$(MCU)\" with settings \"$(AVRDUDE_FLAGS)\" using \"$(AVRDUDE_PROGRAMMER)\" on port \"$(AVRDUDE_PORT)\"\r
-       avrdude -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) $(AVRDUDE_FLAGS)\r
+# Default values of optionally user-supplied variables\r
+AVRDUDE_PROGRAMMER ?= jtagicemkii\r
+AVRDUDE_PORT       ?= usb\r
+AVRDUDE_FLAGS      ?= \r
+\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
+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
+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