.SUFFIXES:
.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
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@
$(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
rsync$(EXEEXT): $(OBJS)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
-$(OBJS): $(HEADERS)
-
flist.o: rounding.h
rounding.h: mkrounding$(EXEEXT)
t_unsafe$(EXEEXT): $(T_UNSAFE_OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(T_UNSAFE_OBJ) $(LIBS)
-gen:
- cd $(srcdir) && $(MAKE) -f prepare-source.mak gen
+$(OBJS) $(TLS_OBJ) $(TRIMSLASH_OBJ) $(T_UNSAFE_OBJ): $(HEADERS)
+
+gen: conf proto.h man
gensend: gen
- rsync -aivzc configure.sh config.h.in proto.h samba.org:/home/ftp/pub/rsync/generated-files/
+ rsync -aivzc $(GENFILES) samba.org:/home/ftp/pub/rsync/generated-files/
+
+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
-man:
- cd $(srcdir) && $(MAKE) -f prepare-source.mak man
+rsync.1: rsync.yo
+ yodl2man -o rsync.1 rsync.yo
+ -./tweak_manpage rsync.1
-proto:
- cd $(srcdir) && $(MAKE) -f prepare-source.mak proto.h
+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) \
rm -f config.cache config.log
rm -f $(srcdir)/config.cache $(srcdir)/config.log
rm -f shconfig $(srcdir)/shconfig
- rm -f configure.sh config.h.in proto.h rsync.1 rsyncd.conf.5
+ 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
check29: all $(CHECK_PROGS) $(CHECK_SYMLINKS)
rsync_bin=`pwd`/rsync$(EXEEXT) $(srcdir)/runtests.sh --protocol=29
-wildtest.o: wildtest.c lib/wildmatch.c rsync.h
+wildtest.o: wildtest.c lib/wildmatch.c rsync.h config.h
wildtest$(EXEEXT): wildtest.o lib/compat.o lib/snprintf.o @BUILD_POPT@
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ wildtest.o lib/compat.o lib/snprintf.o @BUILD_POPT@ $(LIBS)