From 77c83b21a11736eac406154aca6ffd59b6dadfc6 Mon Sep 17 00:00:00 2001 From: Noah Metz Date: Tue, 15 Oct 2024 10:37:56 -0600 Subject: [PATCH] Made makefile compile on macos/linux --- client/Makefile | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/client/Makefile b/client/Makefile index 39d8c70..4acea9f 100644 --- a/client/Makefile +++ b/client/Makefile @@ -1,10 +1,6 @@ ROOT_DIR:=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) CFLAGS = -I $(ROOT_DIR)/include -I/usr/local/include -O0 -g -Wall -Wextra -LDFLAGS = -L/opt/homebrew/opt/llvm/lib -L/opt/homebrew/opt/llvm/lib/c++ -L/opt/homebrew/lib -lz -lglfw -lvulkan -ldl -Xlinker -rpath -Xlinker /opt/homebrew/lib -CC = /opt/homebrew/opt/llvm/bin/clang -CPP = /opt/homebrew/opt/llvm/bin/clang++ -DSYM = /opt/homebrew/opt/llvm/bin/dsymutil -GDB = /opt/homebrew/opt/llvm/bin/lldb +LDFLAGS = -lz -lglfw -lvulkan -ldl -Xlinker -rpath -Xlinker /opt/homebrew/lib SOURCES = src/main.c src/render.c src/vma.cpp src/pipeline.c src/command.c src/spng.c OBJECTS = $(addsuffix .o, $(basename $(SOURCES))) @@ -13,6 +9,23 @@ FRAG_SPV = $(addsuffix .frag.spv, $(basename $(wildcard shader_src/*.frag))) COMP_SPV = $(addsuffix .comp.spv, $(basename $(wildcard shader_src/*.comp))) SPV_FILES = $(VERT_SPV) $(FRAG_SPV) $(COMP_SPV) +EXTRA_DEBUG_REQUIREMENTS := +UNAME_S := $(shell uname -s) +OS := +ifeq ($(UNAME_S),Linux) + CC = clang + CPP = clang++ + GDB = GDB +endif +ifeq ($(UNAME_S),Darwin) + LDFLAGS += -L/opt/homebrew/opt/llvm/lib -L/opt/homebrew/opt/llvm/lib/c++ -L/opt/homebrew/lib + CC = /opt/homebrew/opt/llvm/bin/clang + CPP = /opt/homebrew/opt/llvm/bin/clang++ + DSYM = /opt/homebrew/opt/llvm/bin/dsymutil + GDB = /opt/homebrew/opt/llvm/bin/lldb + EXTRA_DEBUG_REQUIREMENTS = roleplay.dSYM +endif + export MVK_CONFIG_USE_METAL_ARGUMENT_BUFFERS=1 .PHONY: all @@ -33,7 +46,7 @@ clean: rm -f $(SPV_FILES) rm -f $(OBJECTS) rm -f roleplay - rm -rf roleplay.dSYM + rm -rf $(EXTRA_DEBUG_REQUIREMENTS) clean_compdb: rm -rf .compdb @@ -45,7 +58,7 @@ run: roleplay $(SPV_FILES) roleplay.dSYM: roleplay $(DSYM) roleplay -debug: roleplay roleplay.dSYM $(SPV_FILES) +debug: roleplay $(EXTRA_DEBUG_REQUIREMENTS) $(SPV_FILES) $(GDB) roleplay %.vert.spv: %.vert