2024-07-16 02:48:19 -07:00
|
|
|
BIN = bin
|
|
|
|
|
SRC = src
|
|
|
|
|
TST = tests
|
|
|
|
|
INC = inc
|
|
|
|
|
|
2024-07-14 02:45:09 -07:00
|
|
|
CC = gcc
|
2024-07-16 02:48:19 -07:00
|
|
|
CFLAGS = -g -Wall -pedantic -I$(INC)
|
2024-07-14 02:45:09 -07:00
|
|
|
|
2024-07-16 02:48:19 -07:00
|
|
|
CSRCFILES = $(wildcard $(SRC)/*.c)
|
|
|
|
|
OSRCFILES = $(patsubst %,$(BIN)/%,$(notdir $(CSRCFILES:.c=.o)))
|
|
|
|
|
MAIN = $(BIN)/main.o
|
|
|
|
|
OSRCFILESNOMAIN = $(filter-out $(MAIN),$(OSRCFILES))
|
2024-07-14 02:45:09 -07:00
|
|
|
|
2024-07-16 02:48:19 -07:00
|
|
|
CTSTFILES = $(wildcard $(TST)/*.c)
|
|
|
|
|
OTSTFILES = $(patsubst %,$(BIN)/%,$(notdir $(CTSTFILES:.c=.o)))
|
2024-07-14 02:45:09 -07:00
|
|
|
|
2024-07-16 02:48:19 -07:00
|
|
|
$(BIN)/%.o: $(SRC)/%.c
|
|
|
|
|
mkdir -p "$(BIN)"
|
|
|
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
2024-07-15 18:57:53 -07:00
|
|
|
|
2024-07-16 02:48:19 -07:00
|
|
|
$(BIN)/%.o: $(TST)/%.c
|
|
|
|
|
mkdir -p "$(BIN)"
|
|
|
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
|
|
|
|
|
|
all: connect4
|
|
|
|
|
|
|
|
|
|
connect4: ${OSRCFILES}
|
|
|
|
|
$(CC) $(CFLAGS) -o connect4 ${OSRCFILES}
|
|
|
|
|
|
|
|
|
|
tests: ${OTSTFILES} ${OSRCFILESNOMAIN}
|
|
|
|
|
$(CC) $(CFLAGS) -o test_connect4 ${OTSTFILES} ${OSRCFILESNOMAIN}
|
|
|
|
|
|
|
|
|
|
tests/test_connect4.c src/connect4.c src/main.c: inc/connect4.h
|
2024-07-14 02:45:09 -07:00
|
|
|
|
|
|
|
|
clean:
|
2024-07-16 02:48:19 -07:00
|
|
|
rm -r connect4 test_connect4 bin
|
|
|
|
|
|
|
|
|
|
help:
|
|
|
|
|
@echo "src: ${CSRCFILES} | ${OSRCFILES} | ${OSRCFILESNOMAIN} | ${CTSTFILES} | ${OTSTFILES}"
|