diff options
author | Guilhem Moulin <guilhem@fripost.org> | 2019-06-25 15:26:46 +0200 |
---|---|---|
committer | Guilhem Moulin <guilhem@fripost.org> | 2019-06-26 01:04:41 +0200 |
commit | d36536e3743f5868f39908762bdab728802232b3 (patch) | |
tree | 782fcae9c4861a66260a0b87396d9765e543ecf4 | |
parent | 3f2c2fdaa542cf9a0a170d56d2dc1bd16144f6b8 (diff) |
Use 'arduino-mk' as build system.
It feels simpler than `arduino-builder` and we can rely on more
OS-shipped components.
Also for some reason with `arduino-builder` weak symbols don't always
seem to be overriden properly.
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | .kaleidoscope-builder.conf | 4 | ||||
-rw-r--r-- | Makefile | 32 | ||||
-rw-r--r-- | README | 23 |
4 files changed, 46 insertions, 14 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/build diff --git a/.kaleidoscope-builder.conf b/.kaleidoscope-builder.conf deleted file mode 100644 index 72af0b9..0000000 --- a/.kaleidoscope-builder.conf +++ /dev/null @@ -1,4 +0,0 @@ -DEFAULT_SKETCH="model01" -if [ -n "${XDG_RUNTIME_DIR+x}" ]; then - KALEIDOSCOPE_TEMP_PATH="$XDG_RUNTIME_DIR/kaleidoscope" -fi @@ -1,4 +1,30 @@ -BOARD_HARDWARE_PATH ?= ./lib/hardware -KALEIDOSCOPE_PLUGIN_MAKEFILE_DIR ?= keyboardio/build-tools/makefiles +AVR_TOOLS_DIR = /usr +ARDUINO_DIR = /usr/local/arduino +ARDMK_DIR = /usr/share/arduino +ARDMK_VENDOR = arduino --include $(BOARD_HARDWARE_PATH)/$(KALEIDOSCOPE_PLUGIN_MAKEFILE_DIR)/rules.mk +ARCHITECTURE = avr +BOARD_TAG = model01 +ALTERNATE_CORE = keyboardio + +ARDUINO_SKETCHBOOK = ./lib +ARDUINO_VERSION = $(shell tr "." "0" <$(ARDUINO_DIR)/lib/version.txt) + +SOURCEDIR = ./src +OBJDIR = ./build +LOCAL_CPP_SRCS = $(wildcard $(SOURCEDIR)/*.cpp) +LOCAL_INO_SRCS = $(wildcard $(SOURCEDIR)/*.ino) + +USER_LIB_PATH = $(ALTERNATE_CORE_PATH)/libraries +ARDUINO_LIBS = EEPROM Kaleidoscope Kaleidoscope-HIDAdaptor-KeyboardioHID KeyboardioHID KeyboardioScanner + +# extra definitions from boards.txt +CXXFLAGS = -DARDUINO_AVR_MODEL01 \ + -DUSB_MANUFACTURER="\"keyboardio\"" -DUSB_PRODUCT="\"Model 01\"" \ + -DKALEIDOSCOPE_HARDWARE_H="\"Kaleidoscope-Hardware-Model01.h\"" + +AVRDUDE_OPTS = -q +AVRDUDE_CONF = /etc/avrdude.conf +#MONITOR_PORT = $(firstword $(wildcard /dev/serial/by-id/usb-keyboardio_Model_01_*)) + +include $(ARDMK_DIR)/Arduino.mk @@ -8,10 +8,20 @@ https://git.madhouse-project.org/algernon/Model01-Sketch#base-layer Build ===== -Arduino 1.6.7 or newer is required. Unfortunately, as of 2019-06-25 the -version found in Debian sid is too old (cf. #780706, #925578, #927329). -Dowload a recent version at https://www.arduino.cc and it unpack to -/usr/local/arduino. +On Debian systems, the following packages are required: + + - avr-libc + - avrdude + - binutils-avr + - gcc-avr + - arduino-mk + +Running `apt install arduino-mk` should pull in all required +dependencies. Moreover Arduino 1.6.7 or newer is required. +Unfortunately, as of 2019-06-25 the version found in Debian sid is too +Unfortunately, as of 2019-06-25 the version found in Debian sid is too +old (cf. #780706, #925578, #927329). Dowload a recent version at +https://www.arduino.cc and it unpack to /usr/local/arduino. Initialize (or update) submodules: @@ -22,8 +32,7 @@ Initialize (or update) submodules: "avr/bootloaders/*" \ "avr/libraries/Kaleidoscope" \ "avr/libraries/Kaleidoscope-HIDAdaptor-KeyboardioHID" \ - "avr/libraries/Keyboardio*" \ - "build-tools" + "avr/libraries/Keyboardio*" ~$ make @@ -31,7 +40,7 @@ Initialize (or update) submodules: Flash firmware ============== - ~$ make flash + ~$ make upload Press down the 'prog' key while the board is rebooting. You can release it once it glows red. |