Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/make
- print-%:; @echo $* = $($*)
- ifeq ($(shell uname -m), x86_64)
- VULKAN_SDK_PATH = ./VulkanSDK/0.1.1.77/x86_64
- endif
- vpath %.cpp ./sources
- vpath %.o ./build/bin
- vpath %.vert %.tess %.geom %.frag ./shaders
- ODIR = ./build/bin
- EXE = $(ODIR)/Test
- CFLAGS = -std=c++11 -I$(VULKAN_SDK_PATH)/include -Iinclude
- LDFLAGS = -L$(VULKAN_SDK_PATH)/lib `pkg-config --static --libs glfw3` -lvulkan
- SRC = $(wildcard ./sources/*.cpp)
- OBJ = $(patsubst ./sources/%,$(ODIR)/%,$(SRC:.cpp=.o))
- GLSL = $(shell find ./shaders -type f \( -iname *.vert -o -iname *.frag \))
- SPIRV = $(patsubst ./shaders/%,$(ODIR)/shaders/%,$(GLSL:=.spv))
- # I want to do this:
- # $(EXE) : %.o|$(ODIR); g++ $(CFLAGS) $^ -o $@ $(LDFLAGS)
- # /%.o : %.cpp; g++ $(CFLAGS) -c $< -o $@
- # but I have error
- $(EXE): $(OBJ)|$(ODIR); g++ $(CFLAGS) $^ -o $@ $(LDFLAGS)
- $(ODIR)/%.o: %.cpp; g++ $(CFLAGS) -c $< -o $@
- $(ODIR):; @mkdir -p $^
- all: $(EXE)
- clean:; @mv $(EXE) $(OBJ) ~/.local/share/Trash
- test: $(EXE)
- sh $(VULKAN_SDK_PATH)/../setup-env.sh
- ./$(EXE)
- .PHONY: all clean
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement