diff options
Diffstat (limited to 'tmk_core/rules.mk')
-rw-r--r-- | tmk_core/rules.mk | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index bbcfc1e4d..8dbed35fb 100644 --- a/tmk_core/rules.mk +++ b/tmk_core/rules.mk | |||
@@ -223,6 +223,12 @@ ifneq ($(filter Darwin FreeBSD,$(shell uname -s)),) | |||
223 | MD5SUM = md5 | 223 | MD5SUM = md5 |
224 | endif | 224 | endif |
225 | 225 | ||
226 | # UF2 format settings | ||
227 | # To produce a UF2 file in your build, add to your keyboard's rules.mk: | ||
228 | # FIRMWARE_FORMAT = uf2 | ||
229 | UF2CONV = $(TOP_DIR)/util/uf2conv.py | ||
230 | UF2_FAMILY ?= 0x0 | ||
231 | |||
226 | # Compiler flags to generate dependency files. | 232 | # Compiler flags to generate dependency files. |
227 | #GENDEPFLAGS = -MMD -MP -MF .dep/$(@F).d | 233 | #GENDEPFLAGS = -MMD -MP -MF .dep/$(@F).d |
228 | GENDEPFLAGS = -MMD -MP -MF $(patsubst %.o,%.td,$@) | 234 | GENDEPFLAGS = -MMD -MP -MF $(patsubst %.o,%.td,$@) |
@@ -255,6 +261,7 @@ DFU_SUFFIX_ARGS ?= | |||
255 | 261 | ||
256 | elf: $(BUILD_DIR)/$(TARGET).elf | 262 | elf: $(BUILD_DIR)/$(TARGET).elf |
257 | hex: $(BUILD_DIR)/$(TARGET).hex | 263 | hex: $(BUILD_DIR)/$(TARGET).hex |
264 | uf2: $(BUILD_DIR)/$(TARGET).uf2 | ||
258 | cpfirmware: $(FIRMWARE_FORMAT) | 265 | cpfirmware: $(FIRMWARE_FORMAT) |
259 | $(SILENT) || printf "Copying $(TARGET).$(FIRMWARE_FORMAT) to qmk_firmware folder" | $(AWK_CMD) | 266 | $(SILENT) || printf "Copying $(TARGET).$(FIRMWARE_FORMAT) to qmk_firmware folder" | $(AWK_CMD) |
260 | $(COPY) $(BUILD_DIR)/$(TARGET).$(FIRMWARE_FORMAT) $(TARGET).$(FIRMWARE_FORMAT) && $(PRINT_OK) | 267 | $(COPY) $(BUILD_DIR)/$(TARGET).$(FIRMWARE_FORMAT) $(TARGET).$(FIRMWARE_FORMAT) && $(PRINT_OK) |
@@ -283,32 +290,44 @@ gccversion : | |||
283 | 290 | ||
284 | # Create final output files (.hex, .eep) from ELF output file. | 291 | # Create final output files (.hex, .eep) from ELF output file. |
285 | %.hex: %.elf | 292 | %.hex: %.elf |
286 | @$(SILENT) || printf "$(MSG_FLASH) $@" | $(AWK_CMD) | ||
287 | $(eval CMD=$(HEX) $< $@) | 293 | $(eval CMD=$(HEX) $< $@) |
294 | #@$(SILENT) || printf "$(MSG_EXECUTING) '$(CMD)':\n" | ||
295 | @$(SILENT) || printf "$(MSG_FLASH) $@" | $(AWK_CMD) | ||
296 | @$(BUILD_CMD) | ||
297 | |||
298 | %.uf2: %.hex | ||
299 | $(eval CMD=$(UF2CONV) $(BUILD_DIR)/$(TARGET).hex -o $(BUILD_DIR)/$(TARGET).uf2 -c -f $(UF2_FAMILY) >/dev/null 2>&1) | ||
300 | #@$(SILENT) || printf "$(MSG_EXECUTING) '$(CMD)':\n" | ||
301 | @$(SILENT) || printf "$(MSG_UF2) $@" | $(AWK_CMD) | ||
288 | @$(BUILD_CMD) | 302 | @$(BUILD_CMD) |
289 | 303 | ||
290 | %.eep: %.elf | 304 | %.eep: %.elf |
291 | @$(SILENT) || printf "$(MSG_EEPROM) $@" | $(AWK_CMD) | ||
292 | $(eval CMD=$(EEP) $< $@ || exit 0) | 305 | $(eval CMD=$(EEP) $< $@ || exit 0) |
306 | #@$(SILENT) || printf "$(MSG_EXECUTING) '$(CMD)':\n" | ||
307 | @$(SILENT) || printf "$(MSG_EEPROM) $@" | $(AWK_CMD) | ||
293 | @$(BUILD_CMD) | 308 | @$(BUILD_CMD) |
294 | 309 | ||
295 | # Create extended listing file from ELF output file. | 310 | # Create extended listing file from ELF output file. |
296 | %.lss: %.elf | 311 | %.lss: %.elf |
297 | @$(SILENT) || printf "$(MSG_EXTENDED_LISTING) $@" | $(AWK_CMD) | ||
298 | $(eval CMD=$(OBJDUMP) -h -S -z $< > $@) | 312 | $(eval CMD=$(OBJDUMP) -h -S -z $< > $@) |
313 | #@$(SILENT) || printf "$(MSG_EXECUTING) '$(CMD)':\n" | ||
314 | @$(SILENT) || printf "$(MSG_EXTENDED_LISTING) $@" | $(AWK_CMD) | ||
299 | @$(BUILD_CMD) | 315 | @$(BUILD_CMD) |
300 | 316 | ||
301 | # Create a symbol table from ELF output file. | 317 | # Create a symbol table from ELF output file. |
302 | %.sym: %.elf | 318 | %.sym: %.elf |
303 | @$(SILENT) || printf "$(MSG_SYMBOL_TABLE) $@" | $(AWK_CMD) | ||
304 | $(eval CMD=$(NM) -n $< > $@ ) | 319 | $(eval CMD=$(NM) -n $< > $@ ) |
320 | #@$(SILENT) || printf "$(MSG_EXECUTING) '$(CMD)':\n" | ||
321 | @$(SILENT) || printf "$(MSG_SYMBOL_TABLE) $@" | $(AWK_CMD) | ||
305 | @$(BUILD_CMD) | 322 | @$(BUILD_CMD) |
306 | 323 | ||
307 | %.bin: %.elf | 324 | %.bin: %.elf |
308 | @$(SILENT) || printf "$(MSG_BIN) $@" | $(AWK_CMD) | ||
309 | $(eval CMD=$(BIN) $< $@ || exit 0) | 325 | $(eval CMD=$(BIN) $< $@ || exit 0) |
326 | #@$(SILENT) || printf "$(MSG_EXECUTING) '$(CMD)':\n" | ||
327 | @$(SILENT) || printf "$(MSG_BIN) $@" | $(AWK_CMD) | ||
310 | @$(BUILD_CMD) | 328 | @$(BUILD_CMD) |
311 | if [ ! -z "$(DFU_SUFFIX_ARGS)" ]; then \ | 329 | if [ ! -z "$(DFU_SUFFIX_ARGS)" ]; then \ |
330 | #$(SILENT) || printf "$(MSG_EXECUTING) '$(DFU_SUFFIX) $(DFU_SUFFIX_ARGS) -a $(BUILD_DIR)/$(TARGET).bin 1>/dev/null':\n" ;\ | ||
312 | $(DFU_SUFFIX) $(DFU_SUFFIX_ARGS) -a $(BUILD_DIR)/$(TARGET).bin 1>/dev/null ;\ | 331 | $(DFU_SUFFIX) $(DFU_SUFFIX_ARGS) -a $(BUILD_DIR)/$(TARGET).bin 1>/dev/null ;\ |
313 | fi | 332 | fi |
314 | $(COPY) $(BUILD_DIR)/$(TARGET).bin $(TARGET).bin; | 333 | $(COPY) $(BUILD_DIR)/$(TARGET).bin $(TARGET).bin; |
@@ -476,7 +495,7 @@ $(eval $(foreach OUTPUT,$(OUTPUTS),$(shell mkdir -p $(OUTPUT) 2>/dev/null))) | |||
476 | 495 | ||
477 | # Listing of phony targets. | 496 | # Listing of phony targets. |
478 | .PHONY : all dump_vars finish sizebefore sizeafter qmkversion \ | 497 | .PHONY : all dump_vars finish sizebefore sizeafter qmkversion \ |
479 | gccversion build elf hex eep lss sym coff extcoff \ | 498 | gccversion build elf hex uf2 eep lss sym coff extcoff \ |
480 | clean clean_list debug gdb-config show_path \ | 499 | clean clean_list debug gdb-config show_path \ |
481 | program teensy dfu dfu-ee dfu-start \ | 500 | program teensy dfu dfu-ee dfu-start \ |
482 | flash dfu-split-left dfu-split-right \ | 501 | flash dfu-split-left dfu-split-right \ |