.PHONY: flash-fetch flash-push flash-clean-fetch flash-clean-push all: flash-fetch: $(MCU_FLASH_FETCH_FILE_HEX) clean: flash-clean-fetch flash-clean-fetch: rm -f $(MCU_FLASH_FETCH_FILE_BIN) $(MCU_FLASH_FETCH_FILE_HEX) *.tmp flash-clean-push: rm -f $(MCU_FLASH_PUSH_FILE_BIN) $(MCU_FLASH_PUSH_FILE_HEX) *.tmp $(MCU_FLASH_FETCH_FILE_BIN): $(MCU_OPENOCD) -c "init" -c "reset init" -c "flash read_bank $(MCU_FLASH_FETCH_BANK) $@.tmp $(MCU_FLASH_FETCH_OFFSET) $(MCU_FLASH_FETCH_SIZE)" -c "exit" mv $@.tmp $@ %.hex: %.elf $(OBJCOPY) -O ihex $< $@.tmp mv $@.tmp $@ clean: flash-clean-hex flash-clean-hex: rm -rf $(MCU_FLASH_PUSH_FILE_HEX) %.hex: %.bin $(OBJCOPY) $(MCU_OBJCOPY_FETCH_OPTS) -I binary -O ihex $< $@.tmp mv $@.tmp $@ flash-push: # see http://openocd.org/doc/html/Flash-Programming.html $(MCU_OPENOCD) -c "program $(MCU_FLASH_PUSH_FILE_HEX) verify reset exit $(MCU_FLASH_PUSH_OFFSET)" %-flash-push: MCU_FLASH_PUSH_FILE_HEX=$* make flash-push