aboutsummaryrefslogtreecommitdiff
path: root/board/Makefile
blob: ae3d691efc729590659210ab1e32b22bf874cdab (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
BOARDS = mxblue quack

CC = gcc
CFLAGS += -std=c99 -Wall -Wextra -Wshadow -Werror -pedantic -shared

ifeq ($(OS),Windows_NT)
	OUTEXT = dll
else
	OUTEXT = so
	CFLAGS += -fPIC
endif

default: all
all: $(BOARDS)

# TODO: use "BOARDS" variable to generate this.
# TODO: have some preset for 'simple' board type? also in the c file.
mxblue: mxblue.$(OUTEXT)
quack: quack.$(OUTEXT)
mxblue.$(OUTEXT): mxblue/board.c mxblue/sound.h
	$(CC) $(CFLAGS) mxblue/board.c -o mxblue.$(OUTEXT)
quack.$(OUTEXT): quack/board.c quack/sound.h
	$(CC) $(CFLAGS) quack/board.c -o quack.$(OUTEXT)
mxblue/sound.h:
	xxd -i mxblue/board_down.wav mxblue/sound.h
quack/sound.h:
	xxd -i quack/board_down.wav quack/sound.h

clean:
	rm -f *.o
	rm -f *.dll
	rm -f *.so
	rm -f */sound.h