# Base compiler flags. Only change if you *explicitly* know what you're doing. # replace this VS2022_PATH := ~/vs2022 RC_INCLUDES := /I $(VS2022_PATH)/winsdk/include/um /I $(VS2022_PATH)/winsdk/include/shared SDK_INCLUDES := -isystem $(VS2022_PATH)/ucrt/include -isystem $(VS2022_PATH)/crt/include -isystem $(VS2022_PATH)/winsdk/include/shared -isystem $(VS2022_PATH)/winsdk/include/um # Windows 6.1 BASE_CCFLAGS := $(SDK_INCLUDES) -D_WIN32_WINNT=0x0601 -Ires -std=c17 BASE_CXXFLAGS := $(SDK_INCLUDES) -D_CRT_SECURE_NO_WARNINGS -fno-exceptions -fno-rtti -D_WIN32_WINNT=0x0601 -I../shared/src -Isrc -Ires -std=c++23 Release_Valid = yes Release_CCFLAGS = -O3 -ffast-math -DNDEBUG Release_CXXFLAGS = -O3 -ffast-math -DNDEBUG #-ffunction-sections -fdata-sections Release_LDFLAGS = -s #-Wl,--gc-sections Debug_Valid = yes Debug_CCFLAGS = -O0 -g -D_DEBUG Debug_CXXFLAGS = -O0 -g -D_DEBUG -D_ITERATOR_DEBUG_LEVEL=2 Debug_LDFLAGS = # select a default configuration or validate configuration ifeq ($(CONFIG),) CONFIG = Release endif ifneq ($($(CONFIG)_Valid),yes) $(error Please select a valid configuration) endif # for debug msvc libs. FUCK microsoft ifeq ($(CONFIG),Debug) D = d else D = endif