From 33d09be340ec13cd02735dbcfe4fc810c4ad5902 Mon Sep 17 00:00:00 2001 From: nodist Date: Sun, 13 Sep 2026 12:06:49 -0400 Subject: set up make --- Makefile | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e239bc4 --- /dev/null +++ b/Makefile @@ -0,0 +1,39 @@ + +.PHONY: clean + +MAKEFLAGS := -j$(shell nproc) + +INCLUDE_DIR := "./include" +SOURCE_DIR := "./source" +TEST_DIR := "./test" + +CC := gcc +OO := -g -Og +FFLAGS := -fno-omit-frame-pointer -fhardened +WFLAGS := -Wall -Wextra -Wstack-protector +CFLAGS = -std=gnu99 $(FLAGS) -I$(INCLUDE_DIR) $(OO) $(FFLAGS) $(WFLAGS) +CCOBJ = $(CC) -o $@ $^ $(CFLAGS) + +OBJECTS := $(patsubst %.c, %.o, $(wildcard ./source/*.c)) + +kpl: OO := -O2 +kpl: WFLAGS += -Werror +kpl: FLAGS += -DKPL_MAIN +kpl: $(OBJECTS) + $(CCOBJ) + +TEST_OBJECTS := $(patsubst %.c, %.o, $(wildcard ./test/*.c)) + +kpl_test: $(OBJECTS) $(TEST_OBJECTS) + $(CCOBJ) + +kpl_test_error: FFLAGS += -fsanitize=address,leak,undefined +kpl_test_error: kpl_test + +kpl_test_thread: FFLAGS += -fsanitize=thread +kpl_test_thread: kpl_test + +clean: + @rm -fv kpl + @rm -fv kpl_test + @find -type f -name "*.o" -exec rm -v {} \; -- cgit v1.2.3