1OBJ=crawler.o rdup.o gfunc.o getdelim.o signal.o usage.o sha1.o regexp.o abspath.o link.o reverse.o protocol.o msg.o common.o names.o child.o chown.o
2OBJ_TR=rdup-tr.o signal.o getdelim.o usage-tr.o entry.o link.o protocol.o msg.o crypt.o base64.o common.o
3OBJ_UP=rdup-up.o entry.o usage-up.o signal.o link.o getdelim.o abspath.o rm.o fs-up.o mkpath.o protocol.o msg.o dir.o common.o strippath.o names.o chown.o
4HDR=rdup.h rdup-tr.h rdup-up.h io.h common.h entry.h
5CMD=rdup rdup-tr rdup-up
6SH=rdup-simple
7MAN1_IN=rdup.1 rdup-tr.1 rdup-up.1 rdup-simple.1
8MAN7_IN=rdup-backups.7
9
10MAN1=$(addprefix doc/, $(MAN1_IN))
11MAN7=$(addprefix doc/, $(MAN7_IN))
12
13prefix=@prefix@
14exec_prefix=@exec_prefix@
15datarootdir=@datarootdir@
16localedir=@localedir@
17bindir=@bindir@
18libdir=@libdir@
19sbindir=@sbindir@
20mandir=@mandir@
21sysconfdir=@sysconfdir@
22datadir=@datadir@
23
24ARCHIVE_L=@ARCHIVE_L@
25NETTLE_L=@NETTLE_L@
26GCC=@CC@
27GLIB_CFLAGS=@GLIB_CFLAGS@
28GLIB_LIBS=@GLIB_LIBS@
29LIBS=@LIBS@
30DEBUG=@DEBUG@
31CFLAGS=-Wall -W @CFLAGS@ @DEFS@ -DLOCALEROOTDIR=\"@localedir@\" -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -Os -Wpointer-arith -Wstrict-prototypes
32INSTALL=./install-sh -c
33INSTALL_DATA=$(INSTALL) -m 644
34
35.PHONY:	all clean install all uninstall strip
36
37%.o:    %.c ${HDR}
38	${GCC} ${CFLAGS} ${GLIB_CFLAGS} -c $<
39
40ifeq (${ARCHIVE_L},no)
41all:	rdup rdup-up
42	@echo "WARNING: ** No archive library found; not building rdup-tr"
43else
44all:	rdup rdup-up rdup-tr
45endif
46	@chmod +x ${SH}
47	@if [ "${NETTLE_L}" = "no" ]; then echo "WARNING: ** No nettle library found; rdup-tr has no encryption"; fi
48
49rdup-up: $(OBJ_UP) $(HDR)
50	${GCC} ${OBJ_UP} ${GLIB_LIBS} ${LDFLAGS} ${LIBS} -o rdup-up
51
52rdup-tr: $(OBJ_TR) $(HDR)
53	${GCC} ${OBJ_TR} ${GLIB_LIBS} ${LDFLAGS} ${LIBS} -o rdup-tr
54
55rdup:	${OBJ} ${HDR}
56	${GCC} ${OBJ} ${GLIB_LIBS} ${LDFLAGS} ${LIBS} -o rdup
57
58strip:	rdup rdup-up
59ifneq (${ARCHIVE_L},no)
60strip:	rdup-tr
61endif
62	strip $^
63
64po:	rdup.pot
65	( cd po ; $(MAKE) -f GNUmakefile all )
66
67rdup.pot: ${OBJ} ${OBJ_TR} ${OBJ_UP}
68	xgettext --omit-header -k_ -d rdup -s -o rdup.pot *.c
69
70TAGS:   *.[ch]
71	ctags *.[ch]
72
73clean:
74	rm -f *.o
75	rm -f rdup.mo ${CMD}
76	( cd po ; $(MAKE) -f GNUmakefile clean )
77
78realclean: clean
79	rm -rf autom4te.cache
80	rm -f config.log
81	rm -f config.status
82	rm -f config.h
83	rm -f rdup.h
84	rm -f rdup-tr.h
85	rm -f rdup-up.h
86	rm -f rdup*.tar.bz2
87	rm -f rdup*.tar.bz2.sha1
88	rm -f ${MAN1}
89	$(MAKE) -C po realclean
90
91distclean:
92
93install: all
94	mkdir -p ${DESTDIR}${mandir}/man1
95#	mkdir -p ${DESTDIR}${datadir}
96	for i in ${CMD}; do ${INSTALL} $$i ${DESTDIR}${bindir}/$$i ; done
97	for i in ${SH}; do ${INSTALL} $$i ${DESTDIR}${bindir}/$$i ; done
98	for i in ${MAN1}; do [ -f $$i ] &&  ${INSTALL_DATA} $$i ${DESTDIR}${mandir}/man1/`basename $$i` ; done; exit 0
99	for i in ${MAN7}; do [ -f $$i ] &&  ${INSTALL_DATA} $$i ${DESTDIR}${mandir}/man7/`basename $$i` ; done; exit 0
100	$(MAKE) -C po install
101
102install-strip: all strip install
103
104uninstall:
105	for i in ${CMD}; do rm -f ${DESTDIR}${bindir}/$$i ; done
106	for i in ${SH}; do rm -f ${DESTDIR}${bindir}/$$i ; done
107	for i in ${MAN1}; do rm -f  ${DESTDIR}${mandir}/man1/`basename $$i` ; done
108	for i in ${MAN7}; do rm -f  ${DESTDIR}${mandir}/man7/`basename $$i` ; done
109	$(MAKE) -C po uninstall
110
111check:	all
112	@[ -d testlogs ] || mkdir testlogs
113	@chmod +x testsuite/rdup/rdup*helper
114	runtest
115	@chmod -x testlogs/rdup.log
116