From 5fb4ed3dc47431a21bbacdce1c3d67e118e8b4a8 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Mon, 9 Feb 2026 12:08:01 +0900 Subject: [PATCH] Makefile: split release/debug targets, add more compile flags --- Makefile | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 25f3493..7a23797 100644 --- a/Makefile +++ b/Makefile @@ -1,28 +1,39 @@ CC = cc -CFLAGS = -Wall -Wextra -O2 + +CFLAGS = -std=c17 +CFLAGS_WARNINGS = -Wall -Wextra +CFLAGS_RELEASE = -O2 -fstack-protector-strong -fpie +CFLAGS_DEBUG = -O0 -ggdb -DDEBUG -fsanitize=address -static-libasan + SOURCE_FOLDER = src SOURCE = main.c TARGET = wamf +TARGET_DEBUG = wamf-debug OUTPUT_FOLDER = output OUTPUT = $(OUTPUT_FOLDER)/$(TARGET) +OUTPUT_DEBUG = $(OUTPUT_FOLDER)/$(TARGET_DEBUG) REMOTE_USER = root REMOTE_HOST = innovation.pvv.ntnu.no REMOTE_DIR = /tmp/wamf REMOTE_PATH = $(REMOTE_USER)@$(REMOTE_HOST):$(REMOTE_DIR) -.PHONY: all clean +.PHONY: all release debug clean deploy remote-build remote-clean remote-run all: $(OUTPUT) + $(OUTPUT_FOLDER): mkdir $(OUTPUT_FOLDER) -$(OUTPUT): $(SOURCE_FOLDER)/$(SOURCE) $(OUTPUT_FOLDER) - $(CC) $(CFLAGS) -o $(OUTPUT) $(SOURCE_FOLDER)/$(SOURCE) + +$(OUTPUT) release: $(SOURCE_FOLDER)/$(SOURCE) $(OUTPUT_FOLDER) + $(CC) $(CFLAGS) $(CFLAGS_WARNINGS) $(CFLAGS_RELEASE) -o $(OUTPUT) $(SOURCE_FOLDER)/$(SOURCE) + +$(OUTPUT_DEBUG) debug: $(SOURCE_FOLDER)/$(SOURCE) $(OUTPUT_FOLDER) + $(CC) $(CFLAGS) $(CFLAGS_WARNINGS) $(CFLAGS_DEBUG) -o $(OUTPUT_DEBUG) $(SOURCE_FOLDER)/$(SOURCE) + clean: rm -rf $(OUTPUT_FOLDER) -.PHONY: deploy remote-build remote-clean remote-run - deploy: @echo "Creating remote directory..." ssh $(REMOTE_USER)@$(REMOTE_HOST) "mkdir -p $(REMOTE_DIR)" -- 2.52.0