mockband

Firmware for Wii Rock Band guitar and drum kit
git clone https://git.woozle.org/neale/mockband.git

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