Rework the build system to be more modular

Split most of the work off into make/base.mk and allow for easy wrappers
to be created around that that can build with different instrumentation
in their own build directory.

Create wrappers for the following:
 - release build
 - debug build
 - afl++ fuzzing build
 - static analysis with clang
 - clang memory sanitizer
 - clang address/undefined sanitizer
This commit is contained in:
2025-04-03 23:14:56 +02:00
parent 0d3881f680
commit 0f9ced8eb1
9 changed files with 102 additions and 50 deletions

5
make/release.mk Normal file
View File

@ -0,0 +1,5 @@
CFLAGS?=-Wall -Wextra -Wpedantic -O2 -std=c23 -flto -fomit-frame-pointer -DNDEBUG -D_POSIX_C_SOURCE=200809L
LDFLAGS?=-flto -s -Wl,--gc-sections
BUILD_DIR?=build/release/
-include make/base.mk