include ../../Makefile.vars

MCBLOCKINC = -I../../classes/include
ALLINC = ${CRYPTOPPINC} ${JSONCPPINC} ${DWMINC} ${DWMAUTHINC} ${DWMRDAPINC} ${MCBLOCKINC} -I.
MCBLOCKLIB = -L../../classes/lib -lDwmMcBlock
ALLLIB = ${DWMRDAPLIB} ${DWMAUTHLIB} ${DWMLIB} ${CRYPTOPPLIB} ${JSONCPPLIB} -lbz2 -lz -lpcap
OBJFILES = mcblocklog.o
OBJDEPS  = $(OBJFILES:%.o=deps/%_deps)
TESTS    = $(OBJFILES:%.o=%)
TARTARGETS = ${TARDIR}/sbin/mcblocklog \
	     ${TARDIR}/man/man1/mcblocklog.1 \
	     ${TARDIR}/etc/authlog.rgx.sample \
	     ${TARDIR}/etc/maillog.rgx.sample \
	     ${TARDIR}/etc/httpd.rgx.sample
ifeq ("${MANDOC}", "mandoc")
MANHTML = ${MANDOC} -Thtml -Ostyle=../mcplexman.css -Oman=../html%S/%N.%S.html
TARTARGETS += ${TARDIR}/${HTMLMAN}/html1/mcblocklog.1.html
endif

all: mcblocklog

../classes/lib/libDwmMcBlock.la::
	${MAKE} -C ../src

tarprep: ${TARTARGETS}

${TARDIR}/sbin/mcblocklog: mcblocklog
	../../install-sh -s -c -m 755 $< $@

${TARDIR}/man/man1/mcblocklog.1: mcblocklog.1
	../../install-sh -c -m 644 $< $@

${TARDIR}/${HTMLMAN}/html1/mcblocklog.1.html: mcblocklog.1
	${MANHTML} $< > $<.html
	../../install-sh -c -m 644 $<.html $@
	rm $<.html

${TARDIR}/etc/%.rgx.sample: %.rgx
	../../install-sh -c -m 644 $< $@

deps/%_deps: %.cc
	@echo "making dependencies for $<"
	@set -e; \
	${CXX} -MM ${CXXFLAGS} ${ALLINC} -c $< | \
	  sed 's/\($*\)\.o[ :]*/\1.o $(@D)\/$(@F) : /g' > $@ ; [ -s $@ ] || \
	  rm -f $@

#  only include dependency makefiles if target is not 'clean' or 'distclean'
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),distclean)
-include ${OBJDEPS}
endif
endif

%.o: %.cc
	${CXX} ${CXXFLAGS} ${ALLINC} -c $<

mcblocklog: ${OBJFILES} ../../classes/lib/libDwmMcBlock.la
	${LIBTOOL} --mode=link --tag=CXX ${CXX} -static ${LDFLAGS} -o $@ $^ ${ALLLIB}

clean: clean-tarprep
	rm -f mcblocklog ${OBJFILES}

clean-tarprep::
	rm -f ${TARTARGETS}

distclean: clean
	rm -f deps/*_deps
