# -*- make -*- # === C Compiler Configuration === CC := gcc -xc -std=gnu23 CFLAGS := -Wall -Wextra -O CDEBUG := -g # === C++ Compiler Configuration === CXX := gcc -xc++ -std=gnu++17 -lstdc++ -shared-libgcc CXXFLAGS := -Wall -Wextra -O CXXDEBUG := -g # === Linker Configuration === LD := ld LDFLAGS := # === GNU Make Configuration === # GMAKE_JOBS defaults to the number of available logical processors GMAKE_JOBS := $(shell nproc) MAKEFLAGS := --jobs=$(GMAKE_JOBS) --output-sync=target # === Platform Configuration === ifeq ($(OS),Windows_NT) # Windows_NT -> XP, 2000, 7, Vista, 10... PLATFORM := WINDOWS_NT else PLATFORM := $(shell uname) endif