.SUFFIXES:
.SUFFIXES: .c .o
-HEADERS=byteorder.h config.h errcode.h proto.h rsync.h lib/pool_alloc.h
+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
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 \
zlib/trees.o zlib/zutil.o zlib/adler32.o zlib/compress.o zlib/crc32.o
OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \
util.o main.o checksum.o match.o syscall.o log.o backup.o
-OBJS2=options.o io.o compat.o hlink.o token.o uidlist.o socket.o \
+OBJS2=options.o io.o compat.o hlink.o token.o uidlist.o socket.o hashtable.o \
fileio.o batch.o clientname.o chmod.o acls.o xattrs.o
OBJS3=progress.o pipe.o
DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o
$(CC) -I. -I$(srcdir) $(CFLAGS) $(CPPFLAGS) -c $< @CC_SHOBJ_FLAG@
@OBJ_RESTORE@
-all: rsync$(EXEEXT)
+all: conf_stop rsync$(EXEEXT) @MAKE_MAN@
install: all
-mkdir -p ${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
+ if test -f $(srcdir)/rsync.1; then ${INSTALLMAN} -m 644 $(srcdir)/rsync.1 ${DESTDIR}${mandir}/man1; fi
+ if test -f $(srcdir)/rsyncd.conf.5; then ${INSTALLMAN} -m 644 $(srcdir)/rsyncd.conf.5 ${DESTDIR}${mandir}/man5; fi
install-strip:
$(MAKE) INSTALL_STRIP='-s' install
t_unsafe$(EXEEXT): $(T_UNSAFE_OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(T_UNSAFE_OBJ) $(LIBS)
-gen:
- cd $(srcdir) && $(MAKE) -f prepare-source.mak gen
+gen: conf proto.h man
-man:
- cd $(srcdir) && $(MAKE) -f prepare-source.mak man
+gensend: gen
+ rsync -aivzc $(GENFILES) samba.org:/home/ftp/pub/rsync/generated-files/
-proto:
- cd $(srcdir) && $(MAKE) -f prepare-source.mak proto.h
+conf:
+ cd $(srcdir) && $(MAKE) -f prepare-source.mak conf
+
+conf_stop: configure.sh config.h.in
+
+configure.sh config.h.in: configure.in aclocal.m4
+ autoconf -o configure.sh
+ autoheader && touch config.h.in
+ @echo 'Configure files changed -- perhaps run:'
+ @echo ' ./config.status --recheck; ./config.status'
+ @exit 1
+
+proto: proto.h-tstamp
+
+proto.h: proto.h-tstamp
+ @echo ' ' >/dev/null
+
+proto.h-tstamp: *.c lib/compat.c
+ perl mkproto.pl *.c lib/compat.c
+
+man: rsync.1 rsyncd.conf.5
+
+rsync.1: rsync.yo
+ yodl2man -o rsync.1 rsync.yo
+ -./tweak_manpage rsync.1
+
+rsyncd.conf.5: rsyncd.conf.yo
+ yodl2man -o rsyncd.conf.5 rsyncd.conf.yo
+ -./tweak_manpage rsyncd.conf.5
clean: cleantests
rm -f *~ $(OBJS) $(TLS_OBJ) $(CHECK_PROGS) $(CHECK_OBJS) $(CHECK_SYMLINKS) \
distclean: clean
rm -f Makefile config.h config.status
rm -f $(srcdir)/Makefile $(srcdir)/config.h $(srcdir)/config.status
-
rm -f config.cache config.log
rm -f $(srcdir)/config.cache $(srcdir)/config.log
-
rm -f shconfig $(srcdir)/shconfig
+ rm -f $(GENFILES)
# this target is really just for my use. It only works on a limited
# range of machines and is used to produce a list of potentially