Advertisement
Guest User

Untitled

a guest
Sep 16th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 1.18 KB | None | 0 0
  1. # g++ -g main.cpp -Iinclude -Llib-mingw-w64 -lglfw3 -lgdi32 -lopengl32
  2. SHADER_EXT = $(.vert .tesc .tese .geom .frag .comp)
  3. SHADER_SRC_DIR = src/shaders/
  4. SHADER_BIN_DIR = bin/shaders/
  5. SHADER_BIN_EXT = .spv
  6. SHADER_SRC = $(wildcard $(SHADER_SRC_DIR)*$(SHADER_EXT))
  7. SHADER_CC = glslangValidator
  8. SHADER_CFLAGS = -V
  9. SRC_DIR = src/
  10. SRC_EXT = $(.cpp .c)
  11. SRC = $(wildcard src/*.cpp src/*.c)
  12. OBJ_DIR = obj/
  13. OBJ_EXT = $(.o)
  14. OBJS = $(SRC:$(SRC_DIR)%$(SRC)=$(OBJ_DIR)%$(OBJ_EXT))
  15. CC = g++
  16. DB = gdb
  17. CFLAGS = -g -Wall
  18. INC = -Iincludes
  19. LIB_PATHS = -Llibraries\\lib-mingw-w64 -Llibraries\\vulkan
  20. LIBS = -lvulkan-1 -lglfw3 -lgdi32 -lopengl32
  21. BIN_DIR = bin/
  22. BIN_NAME = VulkanApp.exe
  23.  
  24. # make
  25. all: build buildShaders
  26.    
  27. # make debug
  28. debug: build
  29.     gdb bin/main.exe
  30.    
  31. # make build
  32. build: ${OBJS}
  33.     $(CC) $(CFLAGS) $^ $(LIB_PATHS) $(LIBS) -o $(BIN_DIR)$(BIN_NAME)
  34.    
  35. # make clean
  36. clean:
  37.     -rm obj/*.o
  38.     -rm bin/*.exe
  39.  
  40. # This gets called anytime a .o file is referenced
  41. obj/%.o: src/%.cpp
  42.     $(CC) $(CFLAGS) $(INC) -c $< -o $@
  43.  
  44. # make shaders
  45. buildShaders:
  46.     $(foreach shader, $(SHADER_SRC), glslangValidator -V $(shader) -o $\
  47.     $(SHADER_BIN_DIR)$(basename $(notdir $(shader)))$(SHADER_BIN_EXT);)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement