From 6b9496e2dc71fc1e09e1fe87206d5c849db14ed4 Mon Sep 17 00:00:00 2001 From: Jesse Vincent Date: Fri, 24 Sep 2021 13:31:38 -0700 Subject: [PATCH] Kaleidoscope build system support for gd32 keyboards --- Makefile | 19 ++++++++++++++++--- etc/makefiles/arduino-cli.mk | 1 + etc/makefiles/sketch.mk | 15 ++++++++++++--- 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 53c63dc1..0daf2b81 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ endif DEFAULT_GOAL: smoke-sketches -setup: $(ARDUINO_DIRECTORIES_USER)/hardware/keyboardio/avr/boards.txt $(ARDUINO_DIRECTORIES_USER)/hardware/keyboardio/virtual/boards.txt $(ARDUINO_CLI_PATH) $(ARDUINO_DIRECTORIES_DATA)/arduino-cli.yaml install-arduino-core-avr +setup: $(ARDUINO_CLI_PATH) $(ARDUINO_DIRECTORIES_DATA)/arduino-cli.yaml install-arduino-core-avr install-arduino-core-kaleidoscope $(ARDUINO_DIRECTORIES_USER)/hardware/keyboardio/avr/boards.txt $(ARDUINO_DIRECTORIES_USER)/hardware/keyboardio/virtual/boards.txt @: @@ -27,9 +27,22 @@ $(ARDUINO_DIRECTORIES_USER)/hardware/keyboardio/virtual/boards.txt: $(ARDUINO_DIRECTORIES_USER)/hardware/keyboardio/avr/boards.txt: - git clone -c core.symlinks=true --recurse-submodules=":(exclude)avr/libraries/Kaleidoscope" --recurse-submodules=build-tools --recurse-submodules=toolchain --recurse-submodules=avr/libraries/ git://github.com/keyboardio/Kaleidoscope-Bundle-Keyboardio $(ARDUINO_DIRECTORIES_USER)/hardware/keyboardio - rm -d $(ARDUINO_DIRECTORIES_USER)/hardware/keyboardio/avr/libraries/Kaleidoscope + git clone -c core.symlinks=true \ + --recurse-submodules=":(exclude)avr/libraries/Kaleidoscope" \ + --recurse-submodules=":(exclude)gd32/libraries/Kaleidoscope" \ + --recurse-submodules=avr/libraries/ \ + --recurse-submodules=gd32/ \ + --recurse-submodules=gd32/libraries/ \ + git://github.com/keyboardio/Kaleidoscope-Bundle-Keyboardio \ + $(ARDUINO_DIRECTORIES_USER)/hardware/keyboardio + -rm -d $(ARDUINO_DIRECTORIES_USER)/hardware/keyboardio/avr/libraries/Kaleidoscope ln -s $(KALEIDOSCOPE_DIR) $(ARDUINO_DIRECTORIES_USER)/hardware/keyboardio/avr/libraries/Kaleidoscope + git clone -c core.symlinks=true \ + --recurse-submodules=":(exclude)libraries/Kaleidoscope" \ + --recurse-submodules=libraries/ \ + git://github.com/keyboardio/ArduinoCore-GD32-Keyboardio $(ARDUINO_DIRECTORIES_USER)/hardware/keyboardio/gd32 + -rm -d $(ARDUINO_DIRECTORIES_USER)/hardware/keyboardio/gd32/libraries/Kaleidoscope + ln -s $(KALEIDOSCOPE_DIR) $(ARDUINO_DIRECTORIES_USER)/hardware/keyboardio/gd32/libraries/Kaleidoscope simulator-tests: $(MAKE) -C tests all diff --git a/etc/makefiles/arduino-cli.mk b/etc/makefiles/arduino-cli.mk index a618dfe4..337dfa37 100644 --- a/etc/makefiles/arduino-cli.mk +++ b/etc/makefiles/arduino-cli.mk @@ -164,6 +164,7 @@ arduino-update-cores: install-arduino-core-kaleidoscope: arduino-update-cores $(QUIET) $(ARDUINO_CLI) core install "keyboardio:avr" + $(QUIET) $(ARDUINO_CLI) core install "keyboardio:gd32" install-arduino-core-avr: arduino-update-cores $(QUIET) $(ARDUINO_CLI) core install "arduino:avr" diff --git a/etc/makefiles/sketch.mk b/etc/makefiles/sketch.mk index 27fdb7cb..7d158dfc 100644 --- a/etc/makefiles/sketch.mk +++ b/etc/makefiles/sketch.mk @@ -209,12 +209,21 @@ ensure-device-port-defined: echo ;\ exit -1;fi -flash: ensure-device-port-defined +ifneq ($(FQBN),) +fqbn_arg = --fqbn $(FQBN) +endif + +ifneq ($(KALEIDOSCOPE_DEVICE_PORT),) +port_arg = --port $(KALEIDOSCOPE_DEVICE_PORT) +endif + + +flash: $(info $(unescaped_flashing_instructions)) $(info ) $(info When you're ready to proceed, press 'Enter'.) $(info ) @$(shell read _) - $(QUIET) $(ARDUINO_CLI) upload --fqbn $(FQBN) \ + $(QUIET) $(ARDUINO_CLI) upload $(fqbn_arg) \ --input-dir "${OUTPUT_PATH}" \ - --port $(KALEIDOSCOPE_DEVICE_PORT) $(ARDUINO_VERBOSE) + $(port_arg) $(ARDUINO_VERBOSE)