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 $@