34 lines
1.0 KiB
Makefile
34 lines
1.0 KiB
Makefile
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))
|