Neale Pickett
·
2024-01-07
Makefile
1DEVICE=/dev/ttyACM0
2
3all: firmwares
4
5firmwares: MockBand.guitar-wammy.hex
6MockBand.guitar-wammy.hex: VID=0x1bad
7MockBand.guitar-wammy.hex: PID=0x0004
8MockBand.guitar-wammy.hex: FLAGS=-DWAMMY
9
10firmwares: MockBand.guitar.hex
11MockBand.guitar.hex: VID=0x1bad
12MockBand.guitar.hex: PID=0x0004
13
14firmwares: MockBand.drums.hex
15MockBand.drums.hex: VID=0x1bad
16MockBand.drums.hex: PID=0x3110
17
18MockBand.drums-xbox.hex: VID=0x1bad
19MockBand.drums-xbox.hex: PID=0x0003
20
21MockBand.drums-rb1.hex: VID=0x1bad
22MockBand.drums-rb1.hex: PID=00005
23
24
25MockBand.%.hex: MockBand.ino
26 rm -rf build
27 mkdir -p build/cache
28 arduino-builder \
29 -build-path $(abspath build/) \
30 -build-cache $(abspath build/cache/) \
31 -fqbn arduino:avr:leonardo \
32 -hardware /usr/share/arduino/hardware/ \
33 -tools /usr/share/arduino/tools/ \
34 -prefs="build.extra_flags=-DUSB_VID=$(VID) -DUSB_PID=$(PID) '-DUSB_PRODUCT=\"Mockband $*\"' -DUSB_MANUFACTURER=\"woozle.org\" -DCDC_DISABLED $(FLAGS)" \
35 -compile $<
36 mv build/MockBand.ino.hex $@
37
38
39flash-%: MockBand.%.hex
40 echo -n "Waiting for $(DEVICE)..."; while [ ! -e $(DEVICE) ]; do echo -n .; sleep 1; done
41 avrdude -v -patmega32u4 -cavr109 -P$(DEVICE) -b57600 -D -Uflash:w:$<:i
42
43dist: MockBand.zip
44
45MockBand.zip: firmwares
46 rm -f $@
47 zip -r $@ README.md *.hex docs/
48
49clean:
50 rm -rf build MockBand.*.hex MockBand.zip
51