53 lines
1.6 KiB
Makefile
53 lines
1.6 KiB
Makefile
CXX=g++
|
|
CXXOPTS=-Og -ggdb -Wall -Wextra -pedantic -std=c++14 -flto
|
|
LDOPTS=
|
|
|
|
IFFEXPLORE_CXXSRCS=iffexplore.cc
|
|
IFFEXPLORE_OBJS=$(addprefix objs/,$(IFFEXPLORE_CXXSRCS:.cc=.o))
|
|
|
|
TREEXPLORE_CXXSRCS=treexplore.cc
|
|
TREEXPLORE_OBJS=$(addprefix objs/,$(TREEXPLORE_CXXSRCS:.cc=.o))
|
|
|
|
FONT2PNG_CXXSRCS=font2png.cc
|
|
FONT2PNG_OBJS=$(addprefix objs/,$(FONT2PNG_CXXSRCS:.cc=.o))
|
|
FONT2PNG_LIBS=-lpng
|
|
|
|
PNTR2PNG_CXXSRCS=pntr2png.cc
|
|
PNTR2PNG_OBJS=$(addprefix objs/,$(PNTR2PNG_CXXSRCS:.cc=.o))
|
|
PNTR2PNG_LIBS=-lpng
|
|
|
|
all: iffexplore font2png pntr2png treexplore
|
|
|
|
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=. $<
|
|
|
|
iffexplore: $(IFFEXPLORE_OBJS)
|
|
$(CXX) $(CXXOPTS) $(LDOPTS) -o $@ $(IFFEXPLORE_OBJS)
|
|
|
|
treexplore: $(TREEXPLORE_OBJS)
|
|
$(CXX) $(CXXOPTS) $(LDOPTS) -o $@ $(TREEXPLORE_OBJS)
|
|
|
|
font2png: $(FONT2PNG_OBJS)
|
|
$(CXX) $(CXXOPTS) $(LDOPTS) -o $@ $(FONT2PNG_OBJS) $(FONT2PNG_LIBS)
|
|
|
|
pntr2png: $(PNTR2PNG_OBJS)
|
|
$(CXX) $(CXXOPTS) $(LDOPTS) -o $@ $(PNTR2PNG_OBJS) $(PNTR2PNG_LIBS)
|
|
|
|
|
|
clean:
|
|
rm -f iffexplore $(IFFEXPLORE_OBJS) $(addprefix objs/,$(IFFEXPLORE_CXXSRCS:.cc=.P))
|
|
rm -f treexplore $(TREEXPLORE_OBJS) $(addprefix objs/,$(TREEXPLORE_CXXSRCS:.cc=.P))
|
|
rm -f font2png $(FONT2PNG_OBJS) $(addprefix objs/,$(FONT2PNG_CXXSRCS:.cc=.P))
|
|
rm -f pntr2png $(PNTR2PNG_OBJS) $(addprefix objs/,$(PNTR2PNG_CXXSRCS:.cc=.P))
|
|
|
|
.PHONY: clean all
|
|
|
|
-include $(addprefix objs/,$(IFFEXPLORE_CXXSRCS:.cc=.P))
|
|
-include $(addprefix objs/,$(TREEXPLORE_CXXSRCS:.cc=.P))
|
|
-include $(addprefix objs/,$(FONT2PNG_CXXSRCS:.cc=.P))
|
|
-include $(addprefix objs/,$(PNTR2PNG_CXXSRCS:.cc=.P))
|