1include Makefile.configure
2
3OBJS	   = blocks.o \
4	     client.o \
5	     compats.o \
6	     downloader.o \
7	     fargs.o \
8	     flist.o \
9	     hash.o \
10	     ids.o \
11	     io.o \
12	     log.o \
13	     md4.o \
14	     misc.o \
15	     mkpath.o \
16	     mktemp.o \
17	     receiver.o \
18	     sender.o \
19	     server.o \
20	     session.o \
21	     socket.o \
22	     symlinks.o \
23	     uploader.o
24ALLOBJS	   = $(OBJS) \
25	     main.o
26AFLS	   = afl/test-blk_recv \
27	     afl/test-flist_recv
28
29all: openrsync
30
31afl: $(AFLS)
32
33openrsync: $(ALLOBJS)
34	$(CC) -o $@ $(ALLOBJS) -lm $(LDADD_LIB_SOCKET)
35
36$(AFLS): $(OBJS)
37	$(CC) -o $@ $*.c $(OBJS)
38
39install: all
40	mkdir -p $(DESTDIR)$(BINDIR)
41	mkdir -p $(DESTDIR)$(MANDIR)/man1
42	mkdir -p $(DESTDIR)$(MANDIR)/man5
43	$(INSTALL_MAN) openrsync.1 $(DESTDIR)$(MANDIR)/man1
44	$(INSTALL_MAN) rsync.5 rsyncd.5 $(DESTDIR)$(MANDIR)/man5
45	$(INSTALL_PROGRAM) openrsync $(DESTDIR)$(BINDIR)
46
47uninstall:
48	rm -f $(DESTDIR)$(BINDIR)/openrsync
49	rm -f $(DESTDIR)$(MANDIR)/man1/openrsync.1
50	rm -f $(DESTDIR)$(MANDIR)/man5/rsync.5
51	rm -f $(DESTDIR)$(MANDIR)/man5/rsyncd.5
52
53clean:
54	rm -f $(ALLOBJS) openrsync $(AFLS)
55
56distclean: clean
57	rm -f Makefile.configure config.h config.log
58
59distcheck:
60	mandoc -Tlint -Werror *.[15]
61	rm -rf .distcheck
62	mkdir .distcheck
63	cp *.c extern.h md4.h *.[15] configure Makefile .distcheck
64	( cd .distcheck && ./configure PREFIX=prefix )
65	( cd .distcheck && $(MAKE) )
66	( cd .distcheck && $(MAKE) install )
67	rm -rf .distcheck
68
69regress:
70	# Do nothing.
71
72$(ALLOBJS) $(AFLS): extern.h config.h
73
74blocks.o downloader.o hash.o md4.o: md4.h
75