Refactor file structure, and make file

This commit is contained in:
Julia Lange 2024-07-16 02:48:19 -07:00
parent 8158309d36
commit 6e831f601b
Signed by: Julia
SSH key fingerprint: SHA256:5DJcfxa5/fKCYn57dcabJa2vN2e6eT0pBerYi5SUbto
6 changed files with 35 additions and 9 deletions

3
.gitignore vendored
View file

@ -1,2 +1,5 @@
.cache .cache
compile_commands.json compile_commands.json
bin/
connect4
test_connect4

View file

@ -1,16 +1,39 @@
BIN = bin
SRC = src
TST = tests
INC = inc
CC = gcc CC = gcc
CFLAGS = -g -Wall -pedantic CFLAGS = -g -Wall -pedantic -I$(INC)
test_connect4.c connect4.c main.c: connect4.h CSRCFILES = $(wildcard $(SRC)/*.c)
OSRCFILES = $(patsubst %,$(BIN)/%,$(notdir $(CSRCFILES:.c=.o)))
MAIN = $(BIN)/main.o
OSRCFILESNOMAIN = $(filter-out $(MAIN),$(OSRCFILES))
CFILES = main.c connect4.c CTSTFILES = $(wildcard $(TST)/*.c)
OFILES = ${CFILES:.c=.o} OTSTFILES = $(patsubst %,$(BIN)/%,$(notdir $(CTSTFILES:.c=.o)))
connect4: ${OFILES} $(BIN)/%.o: $(SRC)/%.c
$(CC) $(CFLAGS) -o connect4 ${OFILES} mkdir -p "$(BIN)"
$(CC) $(CFLAGS) -c $< -o $@
test_connect4: test_connect4.o connect4.o $(BIN)/%.o: $(TST)/%.c
$(CC) $(CFLAGS) -o test_connect4 test_connect4.o connect4.o 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
clean: clean:
rm -r connect4 test_connect4 *.o rm -r connect4 test_connect4 bin
help:
@echo "src: ${CSRCFILES} | ${OSRCFILES} | ${OSRCFILESNOMAIN} | ${CTSTFILES} | ${OTSTFILES}"

View file