mirror of
https://github.com/keirf/greaseweazle-firmware.git
synced 2025-10-31 11:06:44 -07:00
82 lines
2.2 KiB
Makefile
82 lines
2.2 KiB
Makefile
|
|
export FW_MAJOR := 1
|
|
export FW_MINOR := 1
|
|
|
|
PROJ = greaseweazle-firmware
|
|
VER := v$(FW_MAJOR).$(FW_MINOR)
|
|
|
|
PYTHON := python3
|
|
|
|
export ROOT := $(CURDIR)
|
|
|
|
.PHONY: FORCE
|
|
|
|
.DEFAULT_GOAL := all
|
|
|
|
prod-%: FORCE
|
|
$(MAKE) target mcu=$* target=bootloader level=prod
|
|
$(MAKE) target mcu=$* target=greaseweazle level=prod
|
|
|
|
debug-%: FORCE
|
|
$(MAKE) target mcu=$* target=bootloader level=debug
|
|
$(MAKE) target mcu=$* target=greaseweazle level=debug
|
|
|
|
all-%: FORCE prod-% debug-% ;
|
|
|
|
all: FORCE all-stm32f1 all-stm32f7 all-at32f4 ;
|
|
$(MAKE) target mcu=stm32f1 target=blinky level=debug
|
|
|
|
clean: FORCE
|
|
rm -rf out
|
|
|
|
out: FORCE
|
|
mkdir -p out/$(mcu)/$(level)/$(target)
|
|
rsync -a --include="*/" --exclude="*" src/ out/$(mcu)/$(level)/$(target)
|
|
|
|
target: FORCE out
|
|
$(MAKE) -C out/$(mcu)/$(level)/$(target) -f $(ROOT)/Rules.mk target.bin target.hex target.upd $(mcu)=y $(level)=y $(target)=y
|
|
|
|
dist: level := prod
|
|
dist: FORCE all
|
|
rm -rf out/$(PROJ)-*
|
|
$(eval t := out/$(PROJ)-$(VER))
|
|
mkdir -p out/$(PROJ)-$(VER)/hex/alt
|
|
$(eval s := out/stm32f1/$(level)/greaseweazle)
|
|
cp -a $(s)/target.hex $(t)/hex/$(PROJ)-f1-$(VER).hex
|
|
cp -a $(s)/target.upd $(t)/$(PROJ)-$(VER).upd
|
|
$(eval s := out/stm32f1/debug/blinky)
|
|
cp -a $(s)/target.hex $(t)/hex/alt/blinky-test-f1-$(VER).hex
|
|
$(eval s := out/stm32f7/$(level)/greaseweazle)
|
|
cp -a $(s)/target.hex $(t)/hex/$(PROJ)-f7-$(VER).hex
|
|
$(PYTHON) ./scripts/mk_update.py cat $(t)/$(PROJ)-$(VER).upd \
|
|
$(t)/$(PROJ)-$(VER).upd $(s)/target.upd
|
|
$(eval s := out/at32f4/$(level)/greaseweazle)
|
|
cp -a $(s)/target.hex $(t)/hex/$(PROJ)-at32f4-$(VER).hex
|
|
$(PYTHON) ./scripts/mk_update.py cat $(t)/$(PROJ)-$(VER).upd \
|
|
$(t)/$(PROJ)-$(VER).upd $(s)/target.upd
|
|
cp -a COPYING $(t)/
|
|
cp -a README $(t)/
|
|
cp -a RELEASE_NOTES $(t)/
|
|
(cd out && zip -r $(PROJ)-$(VER).zip $(PROJ)-$(VER))
|
|
|
|
BAUD=115200
|
|
DEV=/dev/ttyUSB0
|
|
SUDO=sudo
|
|
STM32FLASH=stm32flash
|
|
|
|
ocd: FORCE all
|
|
$(PYTHON) scripts/telnet.py localhost 4444 \
|
|
"reset init ; flash write_image erase `pwd`/$(target)/$(target).hex ; reset"
|
|
|
|
f1_ocd: FORCE all
|
|
$(PYTHON) scripts/openocd/flash.py `pwd`/$(target)/$(target).hex
|
|
|
|
flash: FORCE all
|
|
$(SUDO) $(STM32FLASH) -b $(BAUD) -w $(target)/$(target).hex $(DEV)
|
|
|
|
start: FORCE
|
|
$(SUDO) $(STM32FLASH) -b $(BAUD) -g 0 $(DEV)
|
|
|
|
serial: FORCE
|
|
$(SUDO) miniterm.py $(DEV) 3000000
|