]> git.friedersdorff.com Git - max/tmk_keyboard.git/blobdiff - tmk_core/rules.mk
adb_usb: Fix mouse_init
[max/tmk_keyboard.git] / tmk_core / rules.mk
index a790f874bc9c93eb8d0fb3add10a177753767706..978f3c06558a24ba65ade19948f6ebef388ce66f 100644 (file)
@@ -124,6 +124,7 @@ CFLAGS += -O$(OPT)
 CFLAGS += -funsigned-char
 CFLAGS += -funsigned-bitfields
 CFLAGS += -ffunction-sections
+CFLAGS += -fdata-sections
 CFLAGS += -fno-inline-small-functions
 CFLAGS += -fpack-struct
 CFLAGS += -fshort-enums
@@ -419,14 +420,21 @@ flip: $(TARGET).hex
        batchisp -hardware usb -device $(MCU) -operation start reset 0
 
 dfu: $(TARGET).hex
-ifneq (, $(findstring 0.7, $(shell dfu-programmer --version 2>&1)))
+       @echo -n dfu-programmer: waiting
+       @until dfu-programmer $(MCU) get bootloader-version > /dev/null 2>&1; do \
+               echo  -n "."; \
+               sleep 1; \
+       done
+       @echo
+
+ifeq ($(shell dfu-programmer --version 2>&1 | grep -q 0.7; echo $$?),0)
        dfu-programmer $(MCU) erase --force
 else
        dfu-programmer $(MCU) erase
 endif
-       dfu-programmer $(MCU) erase
+
        dfu-programmer $(MCU) flash $(TARGET).hex
-       dfu-programmer $(MCU) reset
+       dfu-programmer $(MCU) reset || true # ignore exit code
        
 dfu-start:
        dfu-programmer $(MCU) reset
@@ -440,11 +448,7 @@ flip-ee: $(TARGET).hex $(TARGET).eep
        $(REMOVE) $(TARGET)eep.hex
 
 dfu-ee: $(TARGET).hex $(TARGET).eep
-ifneq (, $(findstring 0.7, $(shell dfu-programmer --version 2>&1)))
        dfu-programmer $(MCU) flash --eeprom $(TARGET).eep
-else
-       dfu-programmer $(MCU) flash-eeprom $(TARGET).eep
-endif
        dfu-programmer $(MCU) reset