ifeq ($(OS),Windows_NT) DETECTED_OS := windows else UNAME_S := $(shell uname -s) ifeq ($(UNAME_S),Darwin) DETECTED_OS := macos else ifeq ($(UNAME_S),Linux) DETECTED_OS := linux else DETECTED_OS := unknown endif endif CC = clang++ UFLAGS = FLAGS = -Wall -Wextra -ggdb -fno-caret-diagnostics -fno-show-column -Wno-missing-field-initializers -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable -Wno-unused-but-set-variable #-std=c99 -pedantic ifeq ($(DETECTED_OS),macos) INCLUDE = -I./sdl/include/ LIBS = ./sdl/lib/arm-macos/libSDL2.a -lm FRAMEWORKS = -framework Cocoa -framework IOKit -framework CoreAudio -framework AudioToolbox -framework ForceFeedback -framework Carbon -framework GameController -framework Metal -framework QuartzCore -framework CoreHaptics else ifeq ($(DETECTED_OS),linux) INCLUDE = -I./sdl/include/ LIBS = ./sdl/lib/x86_64-linux/libSDL2.a -lm -lX11 FRAMEWORKS = else ifeq ($(DETECTED_OS),windows) INCLUDE = LIBS = FRAMEWORKS = else INCLUDE = LIBS = FRAMEWORKS = endif EXE=handmadehero $(EXE): sdl_handmade.cpp $(CC) $(FLAGS) $(UFLAGS) $(INCLUDE) $^ $(LIBS) $(FRAMEWORKS) -o $@ tags: $(OBJS) ctags -R *.h *.c clean: rm -rf $(EXE) $(EXE).dSYM