41 lines
558 B
Makefile
41 lines
558 B
Makefile
|
|
CC = clang
|
|
LD = ld.lld
|
|
CFLAGS = -Iinclude
|
|
CFLAGS += -Ofast -ggdb3
|
|
CFLAGS += -Wall -Wextra -Werror
|
|
CFLAGS += -fsanitize=address
|
|
LDFLAGS = -fuse-ld=lld
|
|
LDFLAGS = -fsanitize=address
|
|
|
|
_OBJ = chess.o common.o graphics.o pieces.o util.o
|
|
OBJ = $(addprefix obj/, $(_OBJ))
|
|
|
|
all: bin/chess
|
|
|
|
obj:
|
|
mkdir -p $@
|
|
|
|
bin:
|
|
mkdir -p $@
|
|
|
|
docs:
|
|
doxygen doxygen-config
|
|
|
|
clean:
|
|
rm bin/* obj/*.o
|
|
|
|
gdb: bin/chess
|
|
gdb $<
|
|
|
|
run: bin/chess
|
|
./$<
|
|
|
|
obj/%.o: src/%.c
|
|
$(CC) -o $@ $(CFLAGS) -c $<
|
|
|
|
bin/chess: $(OBJ)
|
|
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $^
|
|
|
|
.PHONY: all run gdb clean docs
|