From 5d2fdc147bc878622e33b06be6195141cb886849 Mon Sep 17 00:00:00 2001 From: Benedict Gaster <benedict.gaster@uwe.ac.uk> Date: Thu, 10 Nov 2022 14:51:08 +0000 Subject: [PATCH] Added support for brew --- Makefile_brew | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 Makefile_brew diff --git a/Makefile_brew b/Makefile_brew new file mode 100644 index 0000000..cf13c6c --- /dev/null +++ b/Makefile_brew @@ -0,0 +1,70 @@ +CC = clang++ +LD = clang++ +CPPFLAGS = -std=c++17 -I./include -I/opt/homebrew/include/ -I/opt/homebrew/include/SDL2 -D_THREAD_SAFE +CFLAGS = -I./include -I/opt/homebrew/include/ -D_THREAD_SAFE -I/opt/homebrew/include/SDL2 +LDFLAGS = -L/opt/homebrew/lib -lSDL2 -lSDL2_ttf -lSDL2_image -lfreetype -lpng -lwebp -ltiff -ljpeg -lbz2 -lz -framework OpenGL + +ROOTDIR = ./ + +CP = cp +ECHO = echo + +BUILD_DIR = build + +C_SOURCES = src/SDL_FontCache.c +CPP_SOURCES = src/app.cpp src/context.cpp + +OBJECTS = $(addprefix $(BUILD_DIR)/,$(notdir $(CPP_SOURCES:.cpp=.o))) +vpath %.cpp $(sort $(dir $(CPP_SOURCES))) +vpath %.cpp examples +vpath %.cpp assignment + +OBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(C_SOURCES:.c=.o))) +vpath %.c $(sort $(dir $(C_SOURCES))) + +$(BUILD_DIR)/%.o: %.cpp Makefile | $(BUILD_DIR) + $(ECHO) compiling $< + $(CC) -c $(CPPFLAGS) $< -o $@ + +$(BUILD_DIR)/%.o: %.c Makefile | $(BUILD_DIR) + $(ECHO) compiling $< + clang -c $(CFLAGS) $< -o $@ + +all: $(BUILD_DIR)/splat $(BUILD_DIR)/shapes $(BUILD_DIR)/sprite $(BUILD_DIR)/assignment + +$(BUILD_DIR)/splat: $(OBJECTS) $(BUILD_DIR)/splat.o Makefile + $(ECHO) linking $< + $(CC) -L/opt/homebrew/lib -lSDL2 -lSDL2_ttf -lSDL2_image -lfreetype -lpng -lwebp -ltiff -ljpeg -lbz2 -lz -framework OpenGL -o $@ $(OBJECTS) build/splat.o + install_name_tool -change /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib ./osx/runtime/libSDL2-2.0.0.dylib $(BUILD_DIR)/splat + $(ECHO) success + +$(BUILD_DIR)/shapes: $(OBJECTS) $(BUILD_DIR)/shapes.o Makefile + $(ECHO) linking $< + $(CC) -L/opt/homebrew/lib -lSDL2 -lSDL2_ttf -lSDL2_image -lfreetype -lpng -lwebp -ltiff -ljpeg -lbz2 -lz -framework OpenGL -o $@ $(OBJECTS) build/shapes.o + install_name_tool -change /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib ./osx/runtime/libSDL2-2.0.0.dylib $(BUILD_DIR)/shapes + $(ECHO) success + +$(BUILD_DIR)/sprite: $(OBJECTS) $(BUILD_DIR)/sprite.o Makefile + $(ECHO) linking $< + $(CC) -L/opt/homebrew/lib -lSDL2 -lSDL2_ttf -lSDL2_image -lfreetype -lpng -lwebp -ltiff -ljpeg -lbz2 -lz -framework OpenGL -o $@ $(OBJECTS) build/sprite.o + install_name_tool -change /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib ./osx/runtime/libSDL2-2.0.0.dylib $(BUILD_DIR)/sprite + $(ECHO) success + +$(BUILD_DIR)/assignment: $(OBJECTS) $(BUILD_DIR)/assignment.o Makefile + $(ECHO) linking $< + $(CC) -L/opt/homebrew/lib -lSDL2 -lSDL2_ttf -lSDL2_image -lfreetype -lpng -lwebp -ltiff -ljpeg -lbz2 -lz -framework OpenGL -o $@ $(OBJECTS) build/assignment.o + install_name_tool -change /usr/local/opt/sdl2/lib/libSDL2-2.0.0.dylib ./osx/runtime/libSDL2-2.0.0.dylib $(BUILD_DIR)/assignment + $(ECHO) success + +####################################### +# clean up +####################################### +clean: + -rm -fR $(BUILD_DIR)/assignment $(BUILD_DIR)/sprite $(BUILD_DIR)/shapes $(BUILD_DIR)/splat $(BUILD_DIR)/*.o + +####################################### +# dependencies +####################################### +-include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*) + +.PHONY: clean all \ No newline at end of file -- GitLab