.SUFFIXES:
.SUFFIXES: .c .o
-HEADERS=byteorder.h config.h errcode.h proto.h rsync.h
-LIBOBJ=lib/fnmatch.o lib/compat.o lib/snprintf.o lib/mdfour.o \
- lib/permstring.o @LIBOBJS@
+HEADERS=byteorder.h config.h errcode.h proto.h rsync.h lib/pool_alloc.h
+LIBOBJ=lib/wildmatch.o lib/compat.o lib/snprintf.o lib/mdfour.o \
+ lib/permstring.o lib/pool_alloc.o @LIBOBJS@
ZLIBOBJ=zlib/deflate.o zlib/infblock.o zlib/infcodes.o zlib/inffast.o \
zlib/inflate.o zlib/inftrees.o zlib/infutil.o zlib/trees.o \
zlib/zutil.o zlib/adler32.o
all: rsync$(EXEEXT)
-man: rsync.1 rsyncd.conf.5
-
install: all
-mkdir -p ${DESTDIR}${bindir}
- ${INSTALLCMD} ${STRIP} -m 755 rsync$(EXEEXT) ${DESTDIR}${bindir}
+ ${INSTALLCMD} ${INSTALL_STRIP} -m 755 rsync$(EXEEXT) ${DESTDIR}${bindir}
-mkdir -p ${DESTDIR}${mandir}/man1
-mkdir -p ${DESTDIR}${mandir}/man5
${INSTALLMAN} -m 644 $(srcdir)/rsync.1 ${DESTDIR}${mandir}/man1
${INSTALLMAN} -m 644 $(srcdir)/rsyncd.conf.5 ${DESTDIR}${mandir}/man5
install-strip:
- $(MAKE) STRIP='-s' install
+ $(MAKE) INSTALL_STRIP='-s' install
rsync$(EXEEXT): $(OBJS)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
t_unsafe$(EXEEXT): $(T_UNSAFE_OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(T_UNSAFE_OBJ) $(LIBS)
-# I don't like these rules because CVS can skew the timestamps and
-# produce spurious warnings, and also make "make install" fail if the
-# source directory can no longer be found. Since we don't rebuild
-# automatically they're kind of lame anyhow.
+gen: $(srcdir)/configure $(srcdir)/config.h.in proto man
+
+man: $(srcdir)/rsync.1 $(srcdir)/rsyncd.conf.5
-#Makefile: Makefile.in configure config.status
-# echo "WARNING: You need to run ./config.status --recheck"
+$(srcdir)/configure: $(srcdir)/configure.in $(srcdir)/aclocal.m4
+ cd $(srcdir); autoconf
-# don't actually run autoconf, just issue a warning
-#configure: configure.in
-# echo "WARNING: you need to rerun autoconf"
+$(srcdir)/config.h.in: $(srcdir)/configure.in $(srcdir)/aclocal.m4
+ cd $(srcdir); autoheader
$(srcdir)/rsync.1: $(srcdir)/rsync.yo
yodl2man -o $(srcdir)/rsync.1 $(srcdir)/rsync.yo
yodl2man -o $(srcdir)/rsyncd.conf.5 $(srcdir)/rsyncd.conf.yo
proto:
- cat $(srcdir)/*.c $(srcdir)/lib/compat.c | awk -f $(srcdir)/mkproto.awk > $(srcdir)/proto.h
+ cat $(srcdir)/*.c $(srcdir)/lib/compat.c | awk -f $(srcdir)/mkproto.awk >$(srcdir)/proto.h.new
+ if diff $(srcdir)/proto.h $(srcdir)/proto.h.new >/dev/null; then \
+ rm $(srcdir)/proto.h.new; \
+ else \
+ mv $(srcdir)/proto.h.new $(srcdir)/proto.h; \
+ fi
clean: cleantests
rm -f *~ $(OBJS) $(TLS_OBJ) $(CHECK_PROGS) $(CHECK_OBJS)
# There seems to be no standard way to specify some variables as
# exported from a Makefile apart from listing them like this.
-# TODO: Tests that depend on built test aide programs like tls need to
-# know where the build directory is.
-
# This depends on building rsync; if we need any helper programs it
# should depend on them too.
check: all $(CHECK_PROGS)
POSIXLY_CORRECT=1 TOOLDIR=`pwd` rsync_bin=`pwd`/rsync$(EXEEXT) srcdir="$(srcdir)" $(srcdir)/runtests.sh
+wildtest.o: wildtest.c lib/wildmatch.c rsync.h
wildtest$(EXEEXT): wildtest.o
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ wildtest.o @BUILD_POPT@ $(LIBS)
# This does *not* depend on building or installing: you can use it to
# check a version installed from a binary or some other source tree,