.SUFFIXES:
.SUFFIXES: .c .o
-LIBOBJ=lib/getopt.o lib/fnmatch.o lib/compat.o lib/snprintf.o
+HEADS=byteorder.h config.h errcode.h proto.h rsync.h version.h \
+ lib/fnmatch.h lib/getopt.h lib/mdfour.h
+LIBOBJ=lib/getopt.o 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)
# 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
rsync: $(OBJS)
$(CC) $(CFLAGS) $(LDFLAGS) -o rsync $(OBJS) $(LIBS)
+$(OBJS): $(HEADS)
+
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