include ../../Makefile.vars

CXXFLAGS    += -g
LDFLAGS	    += -g
OBJFILES    = mcping.o
OBJDEPS	    = $(OBJFILES:%.o=deps/%_deps)
TARTARGETS  = ${TARDIR}/bin/mcping \
	      ${TARDIR}/man/man1/mcping.1
ifeq ("${MANDOC}", "mandoc")
MANHTML = ${MANDOC} -Thtml -Ostyle=../mcplexman.css -Oman=../html%S/%N.%S.html
TARTARGETS += ${TARDIR}/${HTMLMAN}/html1/mcping.1.html
endif

mcping: ${OBJFILES} ../../lib/libDwm.la
	${LIBTOOL} --mode=link --tag=CXX ${CXX} ${PTHREADLDFLAGS} ${LDFLAGS} \
	 -o $@ $^ ${ZLIB} ${BZLIB} -lpcap ${OSLIBS} -static

tarprep: ${TARTARGETS}

${TARDIR}/bin/mcping: mcping
	../../install-sh -s -c -m 04555 $< $@

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

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

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

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

%.o: %.cc
	${CXX} ${PTHREADCXXFLAGS} ${CXXFLAGS} -c $< -I../../include -I.

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

clean:: clean-tarprep
	${LIBTOOL} --mode=clean rm -f mcping ${OBJFILES}

clean-tarprep::
	rm -f ${TARDIR}/bin/mcping
