prefix=@prefix@
exec_prefix=@exec_prefix@
-INSTALL_BIN=$(exec_prefix)/bin
-INSTALL_MAN=$(prefix)/man
+bindir=@bindir@
+mandir=@mandir@
LIBS=@LIBS@
CC=@CC@
CFLAGS=@CFLAGS@
+LDFLAGS=@LDFLAGS@
INSTALLCMD=@INSTALL@
-VPATH=@srcdir@
srcdir=@srcdir@
+VPATH=$(srcdir)
SHELL=/bin/sh
.SUFFIXES:
.SUFFIXES: .c .o
-LIBOBJ=lib/getopt.o lib/fnmatch.o lib/compat.o
+LIBOBJ=lib/fnmatch.o lib/compat.o lib/snprintf.o lib/mdfour.o
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
-OBJS1=rsync.o generator.o receiver.o cleanup.o sender.o exclude.o util.o md4.o main.o checksum.o match.o syscall.o log.o
+ zlib/zutil.o zlib/adler32.o
+OBJS1=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 flist.o io.o compat.o hlink.o token.o uidlist.o socket.o fileio.o
DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o
-OBJS=$(OBJS1) $(OBJS2) $(DAEMON_OBJ) $(LIBOBJ) $(ZLIBOBJ)
+popt_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \
+ popt/popthelp.o popt/poptparse.o
+OBJS=$(OBJS1) $(OBJS2) $(DAEMON_OBJ) $(LIBOBJ) $(ZLIBOBJ) @BUILD_POPT@
# note that the -I. is needed to handle config.h when using VPATH
.c.o:
- $(CC) -I. -I$(srcdir) $(CFLAGS) -c $< -o $@
+@OBJ_SAVE@
+ $(CC) -I. -I$(srcdir) $(CFLAGS) -c $< @CC_SHOBJ_FLAG@
+@OBJ_RESTORE@
all: rsync
man: rsync.1 rsyncd.conf.5
install: all
- -mkdir -p ${INSTALL_BIN}
- ${INSTALLCMD} -m 755 rsync ${INSTALL_BIN}
- -mkdir -p ${INSTALL_MAN}/man1
- -mkdir -p ${INSTALL_MAN}/man5
- ${INSTALLCMD} -m 644 $(srcdir)/rsync.1 ${INSTALL_MAN}/man1
- ${INSTALLCMD} -m 644 $(srcdir)/rsyncd.conf.5 ${INSTALL_MAN}/man5
+ -mkdir -p ${bindir}
+ ${INSTALLCMD} -m 755 rsync ${bindir}
+ -mkdir -p ${mandir}/man1
+ -mkdir -p ${mandir}/man5
+ ${INSTALLCMD} -m 644 $(srcdir)/rsync.1 ${mandir}/man1
+ ${INSTALLCMD} -m 644 $(srcdir)/rsyncd.conf.5 ${mandir}/man5
+
+install-strip:
+ $(MAKE) INSTALLCMD='$(INSTALLCMD) -s' install
rsync: $(OBJS)
+ @-echo " Note: The link command may give a warning about use of mktemp."
+ @-echo " The warning may be ignored because rsync uses this function in a safe way."
$(CC) $(CFLAGS) $(LDFLAGS) -o rsync $(OBJS) $(LIBS)
+Makefile: Makefile.in configure config.status
+ ./config.status --recheck
+
+# It's OK if this fails, because we don't require people to have
+# autoconf installed.
+configure: configure.in
+ -cd $(srcdir) && autoconf
+
rsync.1: rsync.yo
yodl2man -o rsync.1 rsync.yo
yodl2man -o rsyncd.conf.5 rsyncd.conf.yo
proto:
- cat *.c | awk -f mkproto.awk > proto.h
+ cat *.c lib/compat.c | awk -f mkproto.awk > proto.h
clean:
- rm -f *~ $(OBJS) rsync config.cache config.log config.status
+ rm -f *~ $(OBJS) rsync
+
+distclean: clean
+ rm -f config.h config.cache config.status Makefile
+
+# 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
+# dead (ie. unused) functions in the code. (tridge)
+finddead:
+ nm *.o */*.o |grep 'U ' | awk '{print $$2}' | sort -u > nmused.txt
+ nm *.o */*.o |grep 'T ' | awk '{print $$3}' | sort -u > nmfns.txt
+ comm -13 nmused.txt nmfns.txt