#! /bin/sh set -e log () { echo "=== $*" } # Make sure we're in the project directory cd $(dirname $0)/.. mkdir -p out/ while read vid pid variant; do log log Building $vid $pid $product log ## This is bananas. rm -rf build/ mkdir -p build/cache/ cp -rL /usr/share/arduino /usr/share/arduino-builder build/ || true # there's a cyclic symlink that causes failure sed -i " /leonardo.build.vid/ s/=.*/=$vid/ /leonardo.build.pid/ s/=.*/=$pid/ /leonardo.build.usb_product/ s/=.*/=\"Mockband $variant\"/ " build/arduino/hardware/arduino/avr/boards.txt grep 'leonardo.build' build/arduino/hardware/arduino/avr/boards.txt arduino-builder \ -fqbn arduino:avr:leonardo \ -build-path $(pwd)/build/ \ -build-cache $(pwd)/build/cache/ \ -hardware build/arduino/hardware \ -tools build/arduino/tools \ -compile MockBand.ino mv build/MockBand.ino.hex out/MockBand.$variant.hex find out build/cache done << EOD 0x1bad 0x0004 guitar 0x1bad 0x3110 drums EOD ls -l out/