Advertisement
Guest User

Untitled

a guest
Jul 19th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 1.05 KB | None | 0 0
  1. #!/usr/bin/make
  2.  
  3. print-%:; @echo $* = $($*)
  4.  
  5. ifeq ($(shell uname -m), x86_64)
  6. VULKAN_SDK_PATH = ./VulkanSDK/0.1.1.77/x86_64
  7. endif
  8.  
  9. vpath %.cpp ./sources
  10. vpath %.o ./build/bin
  11. vpath %.vert %.tess %.geom %.frag ./shaders
  12.  
  13. ODIR = ./build/bin
  14. EXE = $(ODIR)/Test
  15.  
  16. CFLAGS = -std=c++11 -I$(VULKAN_SDK_PATH)/include -Iinclude
  17. LDFLAGS = -L$(VULKAN_SDK_PATH)/lib `pkg-config --static --libs glfw3` -lvulkan
  18.  
  19. SRC = $(wildcard ./sources/*.cpp)
  20. OBJ = $(patsubst ./sources/%,$(ODIR)/%,$(SRC:.cpp=.o))
  21. GLSL = $(shell find ./shaders -type f \( -iname *.vert -o -iname *.frag \))
  22. SPIRV = $(patsubst ./shaders/%,$(ODIR)/shaders/%,$(GLSL:=.spv))
  23.  
  24. # I want to do this:
  25. # $(EXE) : %.o|$(ODIR); g++ $(CFLAGS) $^ -o $@ $(LDFLAGS)
  26. # /%.o : %.cpp; g++ $(CFLAGS) -c $< -o $@
  27. # but I have error
  28.  
  29. $(EXE): $(OBJ)|$(ODIR); g++ $(CFLAGS) $^ -o $@ $(LDFLAGS)
  30. $(ODIR)/%.o: %.cpp; g++ $(CFLAGS) -c $< -o $@
  31. $(ODIR):; @mkdir -p $^
  32.  
  33. all: $(EXE)
  34. clean:; @mv $(EXE) $(OBJ) ~/.local/share/Trash
  35. test: $(EXE)
  36.     sh $(VULKAN_SDK_PATH)/../setup-env.sh
  37.     ./$(EXE)
  38.  
  39. .PHONY: all clean
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement