## NEEDS: LIBRARY, SKETCH, ROOT, SOURCEDIR ## Should be included when the current directory is the dir of the Sketch. SKETCH="${SKETCH:-${DEFAULT_SKETCH}}" LIBRARY="${LIBRARY:-${SKETCH}}" ######## ######## Keyboard hardware definitions ######## BOARD="${BOARD:-model01}" MCU="${MCU:-atmega32u4}" if [ "${BOARD}" = "virtual" ]; then FQBN="${FQBN:-keyboardio:x86:${BOARD}}" else FQBN="${FQBN:-keyboardio:avr:${BOARD}}" fi ######## ######## Host OS specific commands ######## ## Platform-specific overrides # Shamelessly stolen from git's Makefile uname_S=$(uname -s 2>/dev/null || echo not) DEVICE_PORT="$(ls /dev/ttyACM* 2>/dev/null || echo '')" RESET_DEVICE="stty -F ${DEVICE_PORT} 1200 hupcl" MD5="md5sum" if [ "${uname_S}" = "Darwin" ]; then DEVICE_PORT="$(ls /dev/cu.usbmodemkbio* 2> /dev/null || echo '')" DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodemCkbio* 2> /dev/null || echo '')}" DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodemHID* 2> /dev/null || echo '')}" DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodemCHID* 2> /dev/null || echo '')}" DEVICE_PORT="${DEVICE_PORT:-$(ls /dev/cu.usbmodem14* 2> /dev/null || echo '')}" RESET_DEVICE="/bin/stty -f ${DEVICE_PORT} 1200" ARDUINO_PATH="${ARDUINO_PATH:-/Applications/Arduino.app/Contents/Java/}" ARDUINO_PACKAGE_PATH="${ARDUINO_PACKAGE_PATH:-${HOME}/Library/Arduino15/packages}" ARDUINO_LOCAL_LIB_PATH="${ARDUINO_LOCAL_LIB_PATH:-${HOME}/Documents/Arduino}" MD5="md5" fi find_bootloader_ports() { DEVICE_PORT_BOOTLOADER="$(ls /dev/ttyACM* 2>/dev/null || echo '')" if [ "${uname_S}" = "Darwin" ]; then DEVICE_PORT_BOOTLOADER="$(ls /dev/cu.usbmodemkbio* 2> /dev/null || echo '')" DEVICE_PORT_BOOTLOADER="${DEVICE_PORT_BOOTLOADER:-$(ls /dev/cu.usbmodem14* 2> /dev/null || echo '')}" fi } ###### ###### Arduino tools configuration ###### ARDUINO_PATH="${ARDUINO_PATH:-/usr/local/arduino}" ARDUINO_LOCAL_LIB_PATH="${ARDUINO_LOCAL_LIB_PATH:-${HOME}/Arduino}" ARDUINO_TOOLS_PATH="${ARDUINO_TOOLS_PATH:-${ARDUINO_PATH}/hardware/tools}" ARDUINO_PACKAGE_PATH="${ARDUINO_PACKAGE_PATH:-${HOME}/.arduino15/packages}" ARDUINO_BUILDER="${ARDUINO_BUILDER:-${ARDUINO_PATH}/arduino-builder}" ARDUINO_IDE_VERSION="100607" ###### ###### Executable paths ###### AVR_SIZE="${AVR_SIZE:-${ARDUINO_TOOLS_PATH}/avr/bin/avr-size}" AVR_NM="${AVR_NM:-${ARDUINO_TOOLS_PATH}/avr/bin/avr-nm}" AVR_OBJDUMP="${AVR_OBJDUMP:-${ARDUINO_TOOLS_PATH}/avr/bin/avr-objdump}" AVRDUDE="${AVRDUDE:-${ARDUINO_TOOLS_PATH}/avr/bin/avrdude}" AVRDUDE_CONF="${AVRDUDE_CONF:-${ARDUINO_TOOLS_PATH}/avr/etc/avrdude.conf}" ###### ###### Source files and dependencies ###### BOARD_HARDWARE_PATH="${BOARD_HARDWARE_PATH:-${ARDUINO_LOCAL_LIB_PATH}/hardware}" BOOTLOADER_PATH="${BOOTLOADER_PATH:-${BOARD_HARDWARE_PATH}/keyboardio/avr/bootloaders/caterina/Caterina.hex}" if [ ! -z "${ARDUINO_TOOLS_PATH}" ]; then ARDUINO_TOOLS_PARAM="-tools ${ARDUINO_TOOLS_PATH}" fi if [ ! -z "${AVR_GCC_PREFIX}" ]; then ARDUINO_AVR_GCC_PREFIX_PARAM="-prefs \"runtime.tools.avr-gcc.path=${AVR_GCC_PREFIX}\"" fi