Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # g++ -g main.cpp -Iinclude -Llib-mingw-w64 -lglfw3 -lgdi32 -lopengl32
- SHADER_EXT = $(.vert .tesc .tese .geom .frag .comp)
- SHADER_SRC_DIR = src/shaders/
- SHADER_BIN_DIR = bin/shaders/
- SHADER_BIN_EXT = .spv
- SHADER_SRC = $(wildcard $(SHADER_SRC_DIR)*$(SHADER_EXT))
- SHADER_CC = glslangValidator
- SHADER_CFLAGS = -V
- SRC_DIR = src/
- SRC_EXT = $(.cpp .c)
- SRC = $(wildcard src/*.cpp src/*.c)
- OBJ_DIR = obj/
- OBJ_EXT = $(.o)
- OBJS = $(SRC:$(SRC_DIR)%$(SRC)=$(OBJ_DIR)%$(OBJ_EXT))
- CC = g++
- DB = gdb
- CFLAGS = -g -Wall
- INC = -Iincludes
- LIB_PATHS = -Llibraries\\lib-mingw-w64 -Llibraries\\vulkan
- LIBS = -lvulkan-1 -lglfw3 -lgdi32 -lopengl32
- BIN_DIR = bin/
- BIN_NAME = VulkanApp.exe
- # make
- all: build buildShaders
- # make debug
- debug: build
- gdb bin/main.exe
- # make build
- build: ${OBJS}
- $(CC) $(CFLAGS) $^ $(LIB_PATHS) $(LIBS) -o $(BIN_DIR)$(BIN_NAME)
- # make clean
- clean:
- -rm obj/*.o
- -rm bin/*.exe
- # This gets called anytime a .o file is referenced
- obj/%.o: src/%.cpp
- $(CC) $(CFLAGS) $(INC) -c $< -o $@
- # make shaders
- buildShaders:
- $(foreach shader, $(SHADER_SRC), glslangValidator -V $(shader) -o $\
- $(SHADER_BIN_DIR)$(basename $(notdir $(shader)))$(SHADER_BIN_EXT);)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement