antique QBASIC editor reimplementation ·
c ruby
r/o

kyuubey / Makefile

1
BIN = ./kyuubey
2
BUILD_DIR = out
3
4
CFLAGS = -I. -Iout $(shell $(SDL2_CONFIG) --cflags) -g -Wall -Wno-unneeded-internal-declaration -Wno-unused-function
5
LDFLAGS = $(shell $(SDL2_CONFIG) --libs)
6
7
SDL2_CONFIG = sdl2-config
8
SRCS = $(wildcard *.c)
9
OBJS = $(SRCS:%.c=$(BUILD_DIR)/%.o) $(BUILD_DIR)/lang.tab.o $(BUILD_DIR)/lang.yy.o
10
DEPS = $(OBJS:$(BUILD_DIR)/%.o=$(BUILD_DIR)/%.d)
11
12
all: $(BIN)
13
14
$(BIN): $(OBJS)
15
$(CC) $(LDFLAGS) $^ -o $@
16
17
-include $(DEPS)
18
19
$(BUILD_DIR)/%.o: %.c
20
$(CC) -c $(CFLAGS) -MMD $< -o $@
21
22
$(BUILD_DIR)/lang.tab.c: lang.y
23
bison -v --report=state -d $<
24
mv lang.tab.? $(BUILD_DIR)/
25
26
$(BUILD_DIR)/lang.yy.c: lang.l
27
flex -t $< > $@
28
29
parser-test: $(BIN)
30
valgrind --suppressions=valgrind.suppressions --dsymutil=yes --leak-check=full --gen-suppressions=all $(BIN) parser-test
31
32
clean:
33
-rm $(OBJS) $(DEPS) $(BIN)
34