.SUFFIXES: .c .o
GENFILES=configure.sh config.h.in proto.h proto.h-tstamp rsync.1 rsyncd.conf.5
-HEADERS=byteorder.h config.h errcode.h proto.h rsync.h ifuncs.h lib/pool_alloc.h
+HEADERS=byteorder.h config.h errcode.h proto.h rsync.h ifuncs.h itypes.h inums.h \
+ lib/pool_alloc.h
LIBOBJ=lib/wildmatch.o lib/compat.o lib/snprintf.o lib/mdfour.o lib/md5.o \
lib/permstring.o lib/pool_alloc.o lib/sysacls.o lib/sysxattrs.o @LIBOBJS@
ZLIBOBJ=zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o \
conf_stop: configure.sh config.h.in
configure.sh config.h.in: configure.in aclocal.m4
+ @if test -f configure.sh; then cp -p configure.sh configure.sh.old; else touch configure.sh.old; fi
+ @if test -f config.h.in; then cp -p config.h.in config.h.in.old; else touch config.h.in.old; fi
autoconf -o configure.sh
autoheader && touch config.h.in
- @echo 'Configure files changed -- perhaps run:'
- @echo ' make reconfigure'
- @exit 1
+ @if diff configure.sh configure.sh.old >/dev/null 2>&1; then \
+ echo "configure.sh is unchanged."; \
+ rm configure.sh.old; \
+ else \
+ echo "configure.sh has CHANGED."; \
+ fi
+ @if diff config.h.in config.h.in.old >/dev/null 2>&1; then \
+ echo "config.h.in is unchanged."; \
+ rm config.h.in.old; \
+ else \
+ echo "config.h.in has CHANGED."; \
+ fi
+ @if test -f configure.sh.old -o -f config.h.in.old; then \
+ if test "$(MAKECMDGOALS)" = reconfigure; then \
+ echo 'Continuing with "make reconfigure".'; \
+ else \
+ echo 'You may need to run:'; \
+ echo ' make reconfigure'; \
+ exit 1; \
+ fi \
+ fi
reconfigure: configure.sh
./config.status --recheck
make_stop: Makefile
Makefile: Makefile.in config.status
+ @if test -f Makefile; then cp -p Makefile Makefile.old; else touch Makefile.old; fi
@./config.status
- @echo "Makefile updated -- rerun your make command."
- @exit 1
+ @if diff Makefile Makefile.old >/dev/null 2>&1; then \
+ echo "Makefile is unchanged."; \
+ rm Makefile.old; \
+ else \
+ echo "Makefile updated -- rerun your make command."; \
+ exit 1; \
+ fi
proto: proto.h-tstamp
clean: cleantests
rm -f *~ $(OBJS) $(CHECK_PROGS) $(CHECK_OBJS) $(CHECK_SYMLINKS) \
- rounding rounding.h
+ rounding rounding.h *.old
cleantests:
rm -rf ./testtmp*