big refactor
This commit is contained in:
@@ -1,5 +1,32 @@
|
||||
COMPILER = gcc
|
||||
C_FLAGS = -std=c99 -g -Wall -Werror -Wpedantic -Wshadow -Wstrict-prototypes -Wno-unknown-pragmas
|
||||
|
||||
C_FLAG_STD_C99 = -std=c99 # Use the C99 language standard
|
||||
C_FLAG_DEBUG_INFO = -g # Include debug information
|
||||
# C_FLAG_HEADERS = -H # Prints paths of all headers
|
||||
C_FLAG_ALL_WARNINGS = -Wall # Enable most common warning
|
||||
C_FLAG_PEDANTIC = -Wpedantic # Enforce ISO C standard strictly
|
||||
C_FLAG_SHADOW = -Wshadow # Warn if a local variable shadows another
|
||||
C_FLAG_STRICT_PROTOS = -Wstrict-prototypes # Warn if function declarations are missing parameter types
|
||||
C_FLAG_NO_UNKNOWN_PRAGMAS = -Wno-unknown-pragmas # Suppress warnings about unknown pragmas
|
||||
C_FLAGS = \
|
||||
$(C_FLAG_STD_C99) \
|
||||
$(C_FLAG_DEBUG_INFO) \
|
||||
$(C_FLAG_HEADERS) \
|
||||
$(C_FLAG_ALL_WARNINGS) \
|
||||
$(C_FLAG_PEDANTIC) \
|
||||
$(C_FLAG_SHADOW) \
|
||||
$(C_FLAG_STRICT_PROTOS) \
|
||||
$(C_FLAG_NO_UNKNOWN_PRAGMAS)
|
||||
|
||||
INCLUDE_FLAGS = -Iinclude
|
||||
|
||||
EXTERNAL_ENGINE = -Iexternal/engine
|
||||
EXTERNAL_RAYGUI = -Iexternal/raygui
|
||||
EXTERNAL_RINI = -Iexternal/rini
|
||||
EXTERNAL_FLAGS = \
|
||||
$(EXTERNAL_ENGINE) \
|
||||
$(EXTERNAL_RINI) \
|
||||
$(EXTERNAL_RAYGUI)
|
||||
|
||||
ifeq ($(OS), Windows_NT)
|
||||
SRC = src\main.c
|
||||
@@ -14,7 +41,7 @@ endif
|
||||
$(shell mkdir -p bin/osx bin/win)
|
||||
|
||||
build: $(SRC)
|
||||
$(COMPILER) $(SRC) -o $(TARGET) $(C_FLAGS) $(RAYLIB_FLAGS)
|
||||
$(COMPILER) $(SRC) -o $(TARGET) $(C_FLAGS) $(INCLUDE_FLAGS) $(EXTERNAL_FLAGS) $(RAYLIB_FLAGS)
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET)
|
||||
|
||||
Reference in New Issue
Block a user