CXX=g++ CXXOPTS=-O2 -ggdb -Wall -Wextra -pedantic -Wno-unused-function -Wno-unused-parameter -Wno-sign-compare -std=c++14 -flto LDOPTS= LIBS=-lglbinding -lSDL2 -lSDL2_image -lobj -lSDL2_ttf -lprotobuf CXXSRCS=main.cc objectParser.cc shaders.cc Object.cc VBOManager.cc texture.cc font.cc Overlay.cc BINIFY_SRCS=binifyObj.cc objectParser.cc object.pb.cc OBJS=$(addprefix objs/,$(CXXSRCS:.cc=.o)) BINIFY_OBJS=$(addprefix objs/,$(BINIFY_SRCS:.cc=.o)) all: oglpg binifyObj objs/%.o: %.cc $(CXX) $(CXXOPTS) -c -MMD -MP -o $@ $< @cp objs/$*.d objs/$*.P; rm -f objs/$*.d %.pb.cc %.pb.h: %.proto protoc --cpp_out=. $< oglpg: $(OBJS) $(CXX) $(CXXOPTS) $(LDOPTS) -o $@ $(OBJS) $(LIBS) binifyObj: $(BINIFY_OBJS) $(CXX) $(CXXOPTS) $(LDOPTS) -o $@ $(BINIFY_OBJS) $(LIBS) clean: rm -f oglpg $(OBJS) $(BINIFY_OBJS) $(addprefix objs/,$(CXXSRCS:.cc=.P)) $(addprefix objs/,$(BINIFY_SRCS:.cc=.P)) .PHONY: clean all objs/objectParser.o: object.pb.h -include $(addprefix objs/,$(CXXSRCS:.cc=.P)) -include $(addprefix objs/,$(BINIFY_SRCS:.cc=.P))