From a1f6afa69bb25191d4b206e4ecba1557629330bc Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga Date: Wed, 28 Feb 2024 22:03:04 +0100 Subject: First commit with project structure --- Makefile | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8b75684 --- /dev/null +++ b/Makefile @@ -0,0 +1,35 @@ +CC = gcc +TARGET = parc +BASENM = buffer piece-table +SRC = $(addsuffix .c, $(addprefix src/, $(BASENM)) ) +OBJDIR = out +OBJ = $(addsuffix .o, $(addprefix $(OBJDIR)/, $(BASENM))) + +HEADERS = $(wildcard src/*.h) + +TEST := buffer +TEST_FILES = $(addprefix tests/, $(TEST)) +TEST_SOURCES = $(addsuffix .c, $(addprefix tests/, $(TEST))) + +all: $(TARGET) + +$(TARGET): $(OBJ) src/main.c + @$(CC) $(CFLAGS) $(OBJ) src/main.c -o $(TARGET) + +$(OBJ): $(OBJDIR)/%.o: src/%.c $(HEADERS) + @mkdir -p out + @$(CC) $(CFLAGS) -o $@ -c $< + +clean: + @rm -f $(TARGET) + @rm -f out/* + @rm -rf out/ + @rm -f $(TEST_FILES) + +$(TEST_FILES): $(TARGET) $(TEST_SOURCES) $(HEADERS) + @$(CC) $(CFLAGS) -o $@ $(addsuffix .c, $@) $(OBJ) + @if ./$@ ; then echo "PASS: $@";else echo "FAIL: $@ exit value: $$?"; fi + +test: $(TEST_FILES) + +.PHONY: clean all test -- cgit v1.2.3