Unify build flags

This commit is contained in:
Abdelrahman Said 2025-08-16 13:16:21 +01:00
parent d3fccd61b5
commit eb98de7c2b

View File

@ -2,8 +2,9 @@ CC = clang
CXX = clang++ CXX = clang++
AR = ar AR = ar
BUILD_TYPE = debug BUILD_TYPE = debug
CFLAGS = -Wall -Wextra -Werror -pedantic -std=gnu11 -Isrc CSTD = -std=gnu11
CXXFLAGS = -Wall -Wextra -Werror -pedantic -std=gnu++11 -Isrc CXXSTD = -std=gnu++11
CFLAGS = -Wall -Wextra -Werror -pedantic -Isrc
LIBFLAGS = -fPIC LIBFLAGS = -fPIC
KERNEL = $(shell uname -s) KERNEL = $(shell uname -s)
MACHINE = $(shell uname -m) MACHINE = $(shell uname -m)
@ -21,10 +22,8 @@ TEST_CXX_OUT = $(BUILD_DIR)/wapptestcc
ifeq ($(BUILD_TYPE),debug) ifeq ($(BUILD_TYPE),debug)
CFLAGS += -g -fsanitize=address,undefined -DWAPP_DEBUG_ASSERT CFLAGS += -g -fsanitize=address,undefined -DWAPP_DEBUG_ASSERT
CXXFLAGS += -g -fsanitize=address,undefined -DWAPP_DEBUG_ASSERT
else ifeq ($(BUILD_TYPE),release) else ifeq ($(BUILD_TYPE),release)
CFLAGS += -O3 CFLAGS += -O3
CXXFLAGS += -O3
else else
$(error Invalid BUILD type '$(BUILD_TYPE)'. Use 'debug' or 'release') $(error Invalid BUILD type '$(BUILD_TYPE)'. Use 'debug' or 'release')
endif endif
@ -45,7 +44,7 @@ builddir:
@mkdir -p $(BUILD_DIR) @mkdir -p $(BUILD_DIR)
build-c-test: build-c-test:
$(CC) $(CFLAGS) $(TEST_INCLUDE) $(TEST_C_SRC) -o $(TEST_C_OUT) $(CC) $(CSTD) $(CFLAGS) $(TEST_INCLUDE) $(TEST_C_SRC) -o $(TEST_C_OUT)
run-c-test: build-c-test run-c-test: build-c-test
@echo -e "\n\033[34;1mRUNNING C TESTS\033[0m" @echo -e "\n\033[34;1mRUNNING C TESTS\033[0m"
@ -53,7 +52,7 @@ run-c-test: build-c-test
@rm $(TEST_C_OUT) @rm $(TEST_C_OUT)
build-cc-test: build-cc-test:
$(CXX) $(CXXFLAGS) $(TEST_INCLUDE) $(TEST_CXX_SRC) $(LIB_OUT) -o $(TEST_CXX_OUT) $(CXX) $(CXXSTD) $(CFLAGS) $(TEST_INCLUDE) $(TEST_CXX_SRC) $(LIB_OUT) -o $(TEST_CXX_OUT)
run-cc-test: build-cc-test run-cc-test: build-cc-test
@echo -e "\n\033[34;1mRUNNING C++ TESTS\033[0m" @echo -e "\n\033[34;1mRUNNING C++ TESTS\033[0m"
@ -64,7 +63,7 @@ codegen:
python3 -m codegen python3 -m codegen
build-lib: build-lib:
$(CC) -c $(CFLAGS) $(LIBFLAGS) $(LIB_SRC) -o $(OBJ_OUT) $(CC) -c $(CSTD) $(CFLAGS) $(LIBFLAGS) $(LIB_SRC) -o $(OBJ_OUT)
$(AR) r $(LIB_OUT) $(OBJ_OUT) $(AR) r $(LIB_OUT) $(OBJ_OUT)
@rm $(OBJ_OUT) @rm $(OBJ_OUT)