X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/ef6122c6229001f8d0ba001824dce49ff6a05008..2c713fcdfa04eb7d58c67a4a51d4cbdc37f78536:/Makefile.in diff --git a/Makefile.in b/Makefile.in index 87d0c8a9..b87d0d3c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -25,8 +25,9 @@ VERSION=@VERSION@ .SUFFIXES: .SUFFIXES: .c .o -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 @@ -43,16 +44,11 @@ OBJS=$(OBJS1) $(OBJS2) $(OBJS3) $(DAEMON_OBJ) $(LIBOBJ) $(ZLIBOBJ) @BUILD_POPT@ TLS_OBJ = tls.o syscall.o lib/permstring.o # Programs we must have to run the test cases -RSYNC_EXE=rsync$(EXEEXT) -TLS_EXE=tls$(EXEEXT) -GETGROUPS_EXE=getgroups$(EXEEXT) -TRIMSLASH_EXE=trimslash$(EXEEXT) -T_UNSAFE_EXE=t_unsafe$(EXEEXT) -CHECK_PROGS=$(RSYNC_EXE) $(TLS_EXE) $(GETGROUPS_EXE) \ - $(TRIMSLASH_EXE) $(T_UNSAFE_EXE) +CHECK_PROGS = rsync$(EXEEXT) tls$(EXEEXT) getgroups$(EXEEXT) \ + trimslash$(EXEEXT) t_unsafe$(EXEEXT) wildtest$(EXEEXT) # Objects for CHECK_PROGS to clean -CHECK_OBJS=getgroups.o t_stub.o t_unsafe.o trimslash.o +CHECK_OBJS=getgroups.o t_stub.o t_unsafe.o trimslash.o wildtest.o # note that the -I. is needed to handle config.h when using VPATH .c.o: @@ -60,51 +56,47 @@ CHECK_OBJS=getgroups.o t_stub.o t_unsafe.o trimslash.o $(CC) -I. -I$(srcdir) $(CFLAGS) $(CPPFLAGS) -c $< @CC_SHOBJ_FLAG@ @OBJ_RESTORE@ -all: $(RSYNC_EXE) - -man: rsync.1 rsyncd.conf.5 +all: rsync$(EXEEXT) install: all -mkdir -p ${DESTDIR}${bindir} - ${INSTALLCMD} ${STRIP} -m 755 $(RSYNC_EXE) ${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_EXE): $(OBJS) +rsync$(EXEEXT): $(OBJS) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) -$(OBJS): config.h +$(OBJS): $(HEADERS) -$(TLS_EXE): $(TLS_OBJ) +tls$(EXEEXT): $(TLS_OBJ) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TLS_OBJ) $(LIBS) -$(GETGROUPS_EXE): getgroups.o +getgroups$(EXEEXT): getgroups.o $(CC) $(CFLAGS) $(LDFLAGS) -o $@ getgroups.o $(LIBS) TRIMSLASH_OBJ = trimslash.o syscall.o -$(TRIMSLASH_EXE): $(TRIMSLASH_OBJ) +trimslash$(EXEEXT): $(TRIMSLASH_OBJ) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TRIMSLASH_OBJ) $(LIBS) T_UNSAFE_OBJ = t_unsafe.o syscall.o util.o t_stub.o lib/compat.o lib/snprintf.o -$(T_UNSAFE_EXE): $(T_UNSAFE_OBJ) +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 @@ -113,7 +105,12 @@ $(srcdir)/rsyncd.conf.5: $(srcdir)/rsyncd.conf.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) @@ -150,9 +147,6 @@ test: check # 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. @@ -161,14 +155,18 @@ test: check # might lose in the future where POSIX diverges from old sh. check: all $(CHECK_PROGS) - POSIXLY_CORRECT=1 TOOLDIR=`pwd` rsync_bin=`pwd`/$(RSYNC_EXE) srcdir="$(srcdir)" $(srcdir)/runtests.sh + 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 $@ 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, # if you want. installcheck: $(CHECK_PROGS) - POSIXLY_CORRECT=1 TOOLDIR=`pwd` rsync_bin="$(bindir)/$(RSYNC_EXE)" srcdir="$(srcdir)" $(srcdir)/runtests.sh + POSIXLY_CORRECT=1 TOOLDIR=`pwd` rsync_bin="$(bindir)/rsync$(EXEEXT)" srcdir="$(srcdir)" $(srcdir)/runtests.sh # TODO: Add 'dist' target; need to know which files will be included