Makefile 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. export FW_MAJOR := 1
  2. export FW_MINOR := 0
  3. TARGETS := all blinky clean dist mrproper f1_ocd ocd flash start serial
  4. .PHONY: $(TARGETS)
  5. ifneq ($(RULES_MK),y)
  6. export ROOT := $(CURDIR)
  7. $(TARGETS):
  8. $(MAKE) -f $(ROOT)/Rules.mk $@
  9. else
  10. PROJ = greaseweazle-firmware
  11. VER := v$(FW_MAJOR).$(FW_MINOR)
  12. SUBDIRS += src bootloader blinky_test
  13. all:
  14. $(MAKE) -C src -f $(ROOT)/Rules.mk \
  15. greaseweazle.elf greaseweazle.bin greaseweazle.hex
  16. $(MAKE) bootloader=y -C bootloader -f $(ROOT)/Rules.mk \
  17. bootloader.elf bootloader.bin bootloader.hex
  18. srec_cat bootloader/bootloader.hex -Intel src/greaseweazle.hex -Intel \
  19. -o $(PROJ)-$(VER).hex -Intel
  20. $(PYTHON) ./scripts/mk_update.py new $(PROJ)-$(VER).upd \
  21. bootloader/bootloader.bin src/greaseweazle.bin $(mcu)
  22. blinky:
  23. $(MAKE) debug=y mcu=stm32f1 -C blinky_test -f $(ROOT)/Rules.mk \
  24. blinky.elf blinky.bin blinky.hex
  25. clean::
  26. rm -f *.hex *.upd
  27. find . -name __pycache__ | xargs rm -rf
  28. dist:
  29. rm -rf $(PROJ)-*
  30. mkdir -p $(PROJ)-$(VER)/hex/alt
  31. $(MAKE) clean
  32. $(MAKE) mcu=stm32f1 all blinky
  33. cp -a $(PROJ)-$(VER).hex $(PROJ)-$(VER)/hex/$(PROJ)-f1-$(VER).hex
  34. cp -a $(PROJ)-$(VER).upd $(PROJ)-$(VER)/$(PROJ)-$(VER).upd
  35. cp -a blinky_test/blinky.hex $(PROJ)-$(VER)/hex/alt/blinky-test-f1-$(VER).hex
  36. cp -a COPYING $(PROJ)-$(VER)/
  37. cp -a README.md $(PROJ)-$(VER)/
  38. cp -a RELEASE_NOTES $(PROJ)-$(VER)/
  39. $(MAKE) clean
  40. $(MAKE) mcu=stm32f7 all
  41. cp -a $(PROJ)-$(VER).hex $(PROJ)-$(VER)/hex/$(PROJ)-f7-$(VER).hex
  42. $(PYTHON) ./scripts/mk_update.py cat $(PROJ)-$(VER)/$(PROJ)-$(VER).upd \
  43. $(PROJ)-$(VER)/$(PROJ)-$(VER).upd $(PROJ)-$(VER).upd
  44. $(MAKE) clean
  45. $(MAKE) mcu=at32f4 all
  46. cp -a $(PROJ)-$(VER).hex $(PROJ)-$(VER)/hex/$(PROJ)-at32f4-$(VER).hex
  47. $(PYTHON) ./scripts/mk_update.py cat $(PROJ)-$(VER)/$(PROJ)-$(VER).upd \
  48. $(PROJ)-$(VER)/$(PROJ)-$(VER).upd $(PROJ)-$(VER).upd
  49. $(MAKE) clean
  50. $(ZIP) $(PROJ)-$(VER).zip $(PROJ)-$(VER)
  51. mrproper: clean
  52. rm -rf $(PROJ)-*
  53. BAUD=115200
  54. DEV=/dev/ttyUSB0
  55. ocd: all
  56. $(PYTHON) scripts/telnet.py localhost 4444 \
  57. "reset init ; flash write_image erase `pwd`/$(PROJ)-$(VER).hex ; reset"
  58. f1_ocd: all
  59. python3 scripts/openocd/flash.py `pwd`/$(PROJ)-$(VER).hex
  60. flash: all
  61. sudo stm32flash -b $(BAUD) -w $(PROJ)-$(VER).hex $(DEV)
  62. start:
  63. sudo stm32flash -b $(BAUD) -g 0 $(DEV)
  64. serial:
  65. sudo miniterm.py $(DEV) 3000000
  66. endif