Makefile 2.4 KB

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