use a separate "make man" target so people don't need yodl
[rsync/rsync.git] / Makefile.in
1 # Makefile for rsync. This is processed by configure to produce the final
2 # Makefile
3
4 prefix=@prefix@
5 exec_prefix=@exec_prefix@
6 INSTALL_BIN=$(exec_prefix)/bin
7 INSTALL_MAN=$(prefix)/man
8
9 LIBS=@LIBS@
10 CC=@CC@
11 CFLAGS=@CFLAGS@
12
13 INSTALLCMD=@INSTALL@
14
15 VPATH=@srcdir@
16 srcdir=@srcdir@
17 SHELL=/bin/sh
18
19
20 .SUFFIXES:
21 .SUFFIXES: .c .o
22
23 LIBOBJ=lib/getopt.o lib/fnmatch.o lib/zlib.o lib/compat.o
24 OBJS1=rsync.o exclude.o util.o md4.o main.o checksum.o match.o syscall.o log.o
25 OBJS2=options.o flist.o io.o compat.o hlink.o token.o uidlist.o socket.o 
26 DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o
27 OBJS=$(OBJS1) $(OBJS2) $(DAEMON_OBJ) $(LIBOBJ)
28
29 # note that the -I. is needed to handle config.h when using VPATH
30 .c.o:
31         $(CC) -I. -I$(srcdir) $(CFLAGS) -c $< -o $@
32
33 all: rsync
34
35 man: rsync.1 rsyncd.conf.5
36
37 install: all
38         -mkdir -p ${INSTALL_BIN}
39         ${INSTALLCMD} -m 755 rsync ${INSTALL_BIN}
40         -mkdir -p ${INSTALL_MAN}/man1
41         -mkdir -p ${INSTALL_MAN}/man5
42         ${INSTALLCMD} -m 644 $(srcdir)/rsync.1 ${INSTALL_MAN}/man1
43         ${INSTALLCMD} -m 644 $(srcdir)/rsyncd.conf.5 ${INSTALL_MAN}/man5
44
45 rsync: $(OBJS)
46         $(CC) $(CFLAGS) -o rsync $(OBJS) $(LIBS)
47
48 rsync.1: rsync.yo
49         yodl2man -o rsync.1 rsync.yo
50
51 rsyncd.conf.5: rsyncd.conf.yo
52         yodl2man -o rsyncd.conf.5 rsyncd.conf.yo
53
54 proto:
55         cat *.c | awk -f mkproto.awk > proto.h
56
57 clean:
58         rm -f *~ $(OBJS) rsync config.cache config.log config.status
59
60 dist:
61         tar --exclude-from .ignore -czf dist.tar.gz .
62         -mkdir rsync-$(VERSION)
63         (cd rsync-$(VERSION) ; tar xzf ../dist.tar.gz)
64         tar -czf rsync-$(VERSION).tar.gz rsync-$(VERSION)
65         rm -f dist.tar.gz
66         echo rsync-$(VERSION) >> .cvsignore