Makefile46 lines · 856 B · raw
1$(shell mkdir -p build >/dev/null)
2
3C_SRC = \
4	alttp.c \
5	ap_map.c \
6	ap_snes.c \
7	ap_plan.c \
8	ap_req.c \
9	ap_item.c \
10	pm.c \
11	pq.c \
12	lb.c \
13
14OBJECTS = $(C_SRC:%.c=build/%.o)
15TARGET = build/libalttp.a
16
17INC = -I.
18LIB = -L/usr/local/lib
19
20DEPS = $(OBJECTS:%.o=%.d)
21-include $(DEPS)
22
23# compile and generate dependency info;
24build/%.o: %.c
25	$(CC) -c $(CFLAGS) $*.c -o build/$*.o
26	$(CC) -MM $(CFLAGS) -MT build/$*.o $*.c > build/$*.d
27
28# Assembler, compiler, and linker flags
29override CFLAGS += $(INC) -O3 -ggdb3 -Wall -Wextra -Werror -Wno-unused-parameter -Wno-unused -Wwrite-strings -Wshadow -std=c11 -D_DEFAULT_SOURCE #-flto
30override LFLAGS += $(LIB)
31LIBS =
32AR=gcc-ar
33
34# Targets
35.PHONY: clean all
36.DEFAULT_GOAL = all
37all: $(TARGET)
38
39clean:
40	-rm -rf build/
41
42$(TARGET): $(OBJECTS)
43	$(AR) cr $@ $^
44
45lb_test: lb.c lb_test.c
46	$(CC) $(CFLAGS) -DLB_DEBUG $+ -o $@