include ../Makefile.vars

ALLINC   = -I../include ${DWMINC}
SRCFILES = DwmPiGpio.cc \
	   DwmPiPinDebouncer.cc \
	   DwmPiPinReader.cc \
	   DwmPiRotaryEncoder.cc \
	   DwmPiRotaryEncoderReader.cc
OBJFILES = $(SRCFILES:%.cc=../obj/%.o)
OBJDEPS  = $(SRCFILES:%.cc=deps/%.d)

../lib/libDwmPi.a: ${OBJFILES}
	ar rv $@ $^
	ranlib $@

#  dependency rule
deps/%.d: %.cc
	@echo "making dependencies for $<"
	@set -e; \
	${CXX} -MM ${CXXFLAGS} ${PTHREADCXXFLAGS} ${ALLINC} -c $< | \
	 sed 's/\($*\)\.o[ :]*/\.\.\/obj\/\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

../obj/%.o: %.cc
	${CXX} ${CXXFLAGS} ${PTHREADCXXFLAGS} ${ALLINC} -c $< -o$@

tarprep: ${TARDIR}/lib/libDwmPi.a

${TARDIR}/lib/libDwmPi.a: ../lib/libDwmPi.a
	../install-sh -c $< $@

clean: clean-tarprep
	rm -f ../lib/libDwmPi.a ${OBJFILES}

clean-tarprep::
	rm -f ${TARDIR}/lib/libDwmPi.a

distclean:: clean
	rm -f ${OBJDEPS}
