summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authoradmin <admin@optics-design.com>2025-08-04 00:35:10 +0200
committeradmin <admin@optics-design.com>2025-08-04 00:35:10 +0200
commit4910356db2585e55d2876001e40b21e9b148bcc4 (patch)
tree26474e58de023c6f3913a1e11ee928f630a8b814 /Makefile
parent8332d652eac5b46d8b8b02b25d47aa5355ef31cd (diff)
added fgla search
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile14
1 files changed, 13 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index f419cb9..5bd69f9 100644
--- a/Makefile
+++ b/Makefile
@@ -30,8 +30,12 @@ BINDIR_WIN := bin/win
INCDIR := include
DLL_CACHE := $(HOME)/.cache/glamac-dlls
+# Security and warning flags
+SECURITY_FLAGS := -fstack-protector-strong -D_FORTIFY_SOURCE=2 -fPIE
+WARNING_FLAGS := -Wall -Wextra -Wformat=2 -Wformat-security -Wnull-dereference -Wstack-protector -Wvla
+
# Compiler flags
-CFLAGS := -I$(INCDIR) -O2 -flto
+CFLAGS := -I$(INCDIR) -O2 -flto $(SECURITY_FLAGS) $(WARNING_FLAGS)
CFLAGS_NATIVE := $(CFLAGS) -march=native
CFLAGS_CROSS := $(CFLAGS) -I$(CROSS_PREFIX)/include
@@ -41,6 +45,9 @@ GLAUTILS_SRCS := $(wildcard $(SRCDIR)/glautils/*.c)
GLAUTILS_BINS := $(patsubst $(SRCDIR)/glautils/%.c, $(BINDIR)/%$(EXE_EXT), $(GLAUTILS_SRCS))
GLAUTILS_BINS_WIN := $(patsubst $(SRCDIR)/glautils/%.c, $(BINDIR_WIN)/%.exe, $(GLAUTILS_SRCS))
+# Glass data dependencies for fgla
+GLASS_DATA_SRCS := $(SRCDIR)/glamac/glass_data.c $(SRCDIR)/glamac/glamac_errors.c
+
# Default target
all: glamac glautils
@@ -53,6 +60,11 @@ $(BINDIR)/glamac$(EXE_EXT): $(GLAMAC_SRCS) | $(BINDIR)
@echo "Building glamac..."
$(CC) $^ $(CFLAGS_NATIVE) $(SDL3_LIBS) -o $@
+# Special rule for fgla which needs glass_data dependencies
+$(BINDIR)/fgla$(EXE_EXT): $(SRCDIR)/glautils/fgla.c $(GLASS_DATA_SRCS) | $(BINDIR)
+ $(CC) $^ $(CFLAGS_NATIVE) -o $@
+
+# General rule for other glautils (excluding fgla)
$(BINDIR)/%$(EXE_EXT): $(SRCDIR)/glautils/%.c | $(BINDIR)
$(CC) $< $(CFLAGS_NATIVE) -o $@
Back to https://optics-design.com