Files
wc3re/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 TreFile.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))