## Project specific variables PROG = test/test CXXSTD = c++11 HDRDIR = . ## Implicit variable defaults WARNFLAGS += -pedantic -Wall -Wextra -Werror CXXFLAGS += $(WARNFLAGS) -Weffc++ CXXFLAGS += -I$(HDRDIR) -std=$(CXXSTD) LDLIBS += -lglfw -lGLEW -lGL ## Build type CXXFLAGS += -g ## Files SRCS = shader.cpp HDRS = shader.hpp ## Standard targets .PHONY: all all: $(PROG) .PHONY: check check: test .PHONY: test test: $(PROG) cd $(<D) && ./$(<F) .PHONY: distclean distclean: $(RM) $(PROG) ## Main targets test/test: CXXFLAGS += -DGLSHADER_TEST test/test: test/test.cpp $(SRCS) ## Header dependency targets $(SRCS): $(HDRS) touch $@ ## Auxiliary targets .PHONY: install-deps-build install-deps-build: sudo apt-get install \ libgl1-mesa-dev \ libglew-dev \ libglm-dev .PHONY: install-deps-test install-deps-test: sudo apt-get install \ libglfw3-dev .PHONY: debug debug: $(PROG) cd $(<D) && gdb ./$(<F)