source: opengl-game/makefile@ c8c6da8

feature/imgui-sdl points-test
Last change on this file since c8c6da8 was c8c6da8, checked in by Dmitry Portnoy <dmitry.portnoy@…>, 5 years ago

Create the overlay texture using different flags based on the SDL version (2.0.9 vs 2.0.10) and change compile.sh to compile all .vert and .frag files inside the shaders folder

  • Property mode set to 100644
File size: 2.0 KB
Line 
1# CFLAGS are compiler flags and LIBFLAGS could be renamed LINKER_FLAGS
2OS = $(shell uname)
3CC = g++
4CFLAGS = -std=c++17 -Wall -pedantic -rdynamic
5# -rdynamic is to generate debug info for dynamic symbols on debian-based
6# systems (tested on Linux Mint)
7# for OSX, using -g generates a newgame.dSYS directory which has debug symbols.
8# However, this has no effect on the stack trace, so there must be a way to specify a *.dSYS directory when running ./newgame
9# or to instead put thos symbols directly into the executable, like -rdynamic does for Linux
10#-Wextra -fno-inline
11
12ifeq ($(OS),Darwin)
13 DEP = -framework Cocoa -framework OpenGL -framework IOKit -framework CoreVideo -lglfw -lglew
14endif
15ifeq ($(OS),Linux)
16 DEP = -lglfw3 -lGLEW -lGL -ldl -lX11 -lXrandr -lXxf86vm -lXinerama -lXcursor -pthread
17endif
18
19IMGUI_FILES = IMGUI/imgui_demo.cpp IMGUI/imgui_draw.cpp IMGUI/imgui.cpp
20
21# If I were generating .o files as well, I should use $? instead of $^
22# as this well prevent regenerating .o files for unchanged .cpp files
23
24newgame: new-game.cpp logger.cpp utils.cpp CrashLogger.cpp imgui_impl_glfw_gl3.cpp $(IMGUI_FILES)
25 $(CC) $^ $(DEP) $(CFLAGS) -o $@
26
27CXX_FLAGS = -std=c++17 -Wall -pedantic# -O3 -rdynamic
28
29ifeq ($(OS),Darwin)
30 VULKAN_SDK_PATH = /Users/dportnoy15/Development/vulkan-sdk-macos-1.1.108.0/macOS
31endif
32ifeq ($(OS),Linux)
33 VULKAN_SDK_PATH = /home/dportnoy/Desktop/VulkanSDK/1.1.106.0/x86_64
34endif
35
36LIB_PATHS = -I$(VULKAN_SDK_PATH)/include
37ifeq ($(OS),Darwin)
38 LIB_PATHS := -Wl,-rpath,$(VULKAN_SDK_PATH)/lib $(LIB_PATHS)
39endif
40ifeq ($(OS),Linux)
41 LIB_PATHS := -L$(VULKAN_SDK_PATH)/lib $(LIB_PATHS)
42endif
43
44LIBS = `pkg-config --static --libs sdl2 sdl2_image sdl2_ttf glfw3`
45ifeq ($(OS),Darwin)
46 LIBS := $(VULKAN_SDK_PATH)/lib/libvulkan.dylib $(LIBS)
47endif
48ifeq ($(OS),Linux)
49 LIBS := -lvulkan $(LIBS)
50endif
51
52LIB_FLAGS = $(LIB_PATHS) $(LIBS)
53
54vulkangame: vulkan-game.cpp game-gui-sdl.cpp game-gui-glfw.cpp
55 $(CC) $(CXX_FLAGS) -o $@ $^ $(LIB_FLAGS)
56
57.PHONY: shaders
58shaders:
59 cd shaders && ../compile.sh && cd ..
60
61clean:
62 rm -f newgame
63 rm -f vulkangame
64 rm -f shaders/*.spv
Note: See TracBrowser for help on using the repository browser.