source: opengl-game/makefile@ 721e8be

feature/imgui-sdl points-test
Last change on this file since 721e8be 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
RevLine 
[71876b9]1# CFLAGS are compiler flags and LIBFLAGS could be renamed LINKER_FLAGS
[5a643d3]2OS = $(shell uname)
[15c7ed9]3CC = g++
[ab65f84]4CFLAGS = -std=c++17 -Wall -pedantic -rdynamic
[17f28a1]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
[4762301]10#-Wextra -fno-inline
[5a643d3]11
12ifeq ($(OS),Darwin)
[e6bc0f4]13 DEP = -framework Cocoa -framework OpenGL -framework IOKit -framework CoreVideo -lglfw -lglew
[5a643d3]14endif
[15c7ed9]15ifeq ($(OS),Linux)
16 DEP = -lglfw3 -lGLEW -lGL -ldl -lX11 -lXrandr -lXxf86vm -lXinerama -lXcursor -pthread
[5a643d3]17endif
18
[1a616e6]19IMGUI_FILES = IMGUI/imgui_demo.cpp IMGUI/imgui_draw.cpp IMGUI/imgui.cpp
20
[fc424f6]21# If I were generating .o files as well, I should use $? instead of $^
[8e232ce]22# as this well prevent regenerating .o files for unchanged .cpp files
23
[88ebdc8]24newgame: new-game.cpp logger.cpp utils.cpp CrashLogger.cpp imgui_impl_glfw_gl3.cpp $(IMGUI_FILES)
[8e232ce]25 $(CC) $^ $(DEP) $(CFLAGS) -o $@
[5272b6b]26
[a8f0577]27CXX_FLAGS = -std=c++17 -Wall -pedantic# -O3 -rdynamic
[826df16]28
[ab65f84]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
[826df16]35
[ab65f84]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
[03f4c64]43
[5f3dba8]44LIBS = `pkg-config --static --libs sdl2 sdl2_image sdl2_ttf glfw3`
[ab65f84]45ifeq ($(OS),Darwin)
46 LIBS := $(VULKAN_SDK_PATH)/lib/libvulkan.dylib $(LIBS)
47endif
48ifeq ($(OS),Linux)
49 LIBS := -lvulkan $(LIBS)
50endif
[826df16]51
52LIB_FLAGS = $(LIB_PATHS) $(LIBS)
53
[0e6ecf3]54vulkangame: vulkan-game.cpp game-gui-sdl.cpp game-gui-glfw.cpp
[826df16]55 $(CC) $(CXX_FLAGS) -o $@ $^ $(LIB_FLAGS)
[03f4c64]56
[88ebdc8]57.PHONY: shaders
[c8c6da8]58shaders:
[88ebdc8]59 cd shaders && ../compile.sh && cd ..
60
[cfda3b2]61clean:
[5272b6b]62 rm -f newgame
[03f4c64]63 rm -f vulkangame
[88ebdc8]64 rm -f shaders/*.spv
Note: See TracBrowser for help on using the repository browser.