1#  Written by Robert Nelson, June 2006
2#
3
4include ../Makefile.inc
5
6INCLUDES = \
7	-I. \
8	$(INCLUDE_BURP) \
9	$(INCLUDE_ZLIB) \
10	$(INCLUDE_VSS) \
11	$(INCLUDE_OPENSSL) \
12
13DEFINES = \
14	-DUSING_DLL \
15	-DWIN32_VSS \
16	-DWINVER=0x500 \
17	-DUTEST \
18	$(HAVES) \
19	$(PACKAGE_DEFINES)
20
21vpath %.c $(MAINDIR)
22vpath %.cpp $(MAINDIR)
23
24##########################################################################
25
26CLIENT_OBJS = \
27	$(OBJDIR)/src/alloc.o \
28	$(OBJDIR)/src/asfd.o \
29	$(OBJDIR)/src/async.o \
30	$(OBJDIR)/src/attribs.o \
31	$(OBJDIR)/src/base64.o \
32	$(OBJDIR)/src/berrno.o \
33	$(OBJDIR)/src/bfile.o \
34	$(OBJDIR)/src/bu.o \
35	$(OBJDIR)/src/client/acl.o \
36	$(OBJDIR)/src/client/auth.o \
37	$(OBJDIR)/src/client/autoupgrade.o \
38	$(OBJDIR)/src/client/backup.o \
39	$(OBJDIR)/src/client/backup_phase1.o \
40	$(OBJDIR)/src/client/protocol1/backup_phase2.o \
41	$(OBJDIR)/src/client/protocol1/restore.o \
42	$(OBJDIR)/src/client/protocol2/backup_phase2.o \
43	$(OBJDIR)/src/client/protocol2/rabin_read.o \
44	$(OBJDIR)/src/client/protocol2/restore.o \
45	$(OBJDIR)/src/client/ca.o \
46	$(OBJDIR)/src/client/cvss.o \
47	$(OBJDIR)/src/client/delete.o \
48	$(OBJDIR)/src/client/extra_comms.o \
49	$(OBJDIR)/src/client/extrameta.o \
50	$(OBJDIR)/src/client/find.o \
51	$(OBJDIR)/src/client/find_logic.o \
52	$(OBJDIR)/src/client/glob_windows.o \
53	$(OBJDIR)/src/client/list.o \
54	$(OBJDIR)/src/client/main.o \
55	$(OBJDIR)/src/client/monitor.o \
56	$(OBJDIR)/src/client/monitor/json_input.o \
57	$(OBJDIR)/src/client/monitor/lline.o \
58	$(OBJDIR)/src/client/monitor/sel.o \
59	$(OBJDIR)/src/client/restore.o \
60	$(OBJDIR)/src/client/xattr.o \
61	$(OBJDIR)/src/cmd.o \
62	$(OBJDIR)/src/cntr.o \
63	$(OBJDIR)/src/conf.o \
64	$(OBJDIR)/src/conffile.o \
65	$(OBJDIR)/src/cstat.o \
66	$(OBJDIR)/src/forkchild.o \
67	$(OBJDIR)/src/fsops.o \
68	$(OBJDIR)/src/fzp.o \
69	$(OBJDIR)/src/handy.o \
70	$(OBJDIR)/src/hexmap.o \
71	$(OBJDIR)/src/incexc_recv.o \
72	$(OBJDIR)/src/incexc_send.o \
73	$(OBJDIR)/src/iobuf.o \
74	$(OBJDIR)/src/linkhash.o \
75	$(OBJDIR)/src/lock.o \
76	$(OBJDIR)/src/log.o \
77	$(OBJDIR)/main.o \
78	$(OBJDIR)/src/msg.o \
79	$(OBJDIR)/src/pathcmp.o \
80	$(OBJDIR)/src/prepend.o \
81	$(OBJDIR)/src/prog.o \
82	$(OBJDIR)/src/protocol1/handy.o \
83	$(OBJDIR)/src/protocol1/msg.o \
84	$(OBJDIR)/src/protocol1/rs_buf.o \
85	$(OBJDIR)/src/protocol1/sbuf_protocol1.o \
86	$(OBJDIR)/src/protocol2/blist.o \
87	$(OBJDIR)/src/protocol2/blk.o \
88	$(OBJDIR)/src/protocol2/rabin/rabin.o \
89	$(OBJDIR)/src/protocol2/rabin/rconf.o \
90	$(OBJDIR)/src/protocol2/rabin/win.o \
91	$(OBJDIR)/src/protocol2/sbuf_protocol2.o \
92	$(OBJDIR)/src/regexp.o \
93	$(OBJDIR)/src/run_script.o \
94	$(OBJDIR)/src/sbuf.o \
95	$(OBJDIR)/src/server/protocol2/champ_chooser/incoming.o \
96	$(OBJDIR)/src/slist.o \
97	$(OBJDIR)/src/ssl.o \
98	$(OBJDIR)/src/strlist.o \
99	$(OBJDIR)/src/times.o \
100	$(OBJDIR)/alist.o \
101	$(OBJDIR)/vss.o \
102	$(OBJDIR)/vss_XP.o \
103	$(OBJDIR)/vss_W2K3.o \
104	$(OBJDIR)/vss_Vista.o \
105	$(OBJDIR)/src/yajl_gen_w.o \
106	$(OBJDIR)/utest/main.o \
107	$(OBJDIR)/utest/builders/build_asfd_mock.o \
108	$(OBJDIR)/utest/builders/build_attribs.o \
109	$(OBJDIR)/utest/builders/build_file.o \
110	$(OBJDIR)/utest/builders/build_paths.o \
111	$(OBJDIR)/utest/builders/build_slist.o \
112	$(OBJDIR)/utest/builders/protocol2/build_blist.o \
113	$(OBJDIR)/utest/client/monitor/test_lline.o \
114	$(OBJDIR)/utest/client/protocol1/test_backup_phase2.o \
115	$(OBJDIR)/utest/client/protocol2/test_backup_phase2.o \
116	$(OBJDIR)/utest/client/protocol2/test_rabin_read.o \
117	$(OBJDIR)/utest/client/test_restore.o \
118	$(OBJDIR)/utest/client/test_auth.o \
119	$(OBJDIR)/utest/client/test_monitor.o \
120	$(OBJDIR)/utest/prng.o \
121	$(OBJDIR)/utest/protocol1/test_handy.o \
122	$(OBJDIR)/utest/protocol1/test_rs_buf.o \
123	$(OBJDIR)/utest/protocol2/test_blist.o \
124	$(OBJDIR)/utest/protocol2/test_blk.o \
125	$(OBJDIR)/utest/protocol2/rabin/test_rabin.o \
126	$(OBJDIR)/utest/protocol2/rabin/test_rconf.o \
127	$(OBJDIR)/utest/protocol2/rabin/test_win.o \
128	$(OBJDIR)/utest/protocol2/test_sbuf_protocol2.o \
129	$(OBJDIR)/utest/test_alloc.o \
130	$(OBJDIR)/utest/test_asfd.o \
131	$(OBJDIR)/utest/test_attribs.o \
132	$(OBJDIR)/utest/test_base64.o \
133	$(OBJDIR)/utest/test_cmd.o \
134	$(OBJDIR)/utest/test_conf.o \
135	$(OBJDIR)/utest/test_conffile.o \
136	$(OBJDIR)/utest/test_fzp.o \
137	$(OBJDIR)/utest/test_hexmap.o \
138	$(OBJDIR)/utest/test_pathcmp.o \
139	$(OBJDIR)/utest/test_slist.o \
140	$(OBJDIR)/utest/test_times.o \
141
142ALL_OBJS = $(CLIENT_OBJS)
143
144CLIENT_LIBS = \
145	$(LIBS_SSL) \
146	$(LIBS_CRYPTO) \
147	$(LIBS_ZLIB) \
148	$(LIBS_NETWORK) \
149	$(LIBS_RSYNC) \
150	$(LIBS_PCRE) \
151	$(LIBS_YAJL) \
152	$(LIBS_CHECK) \
153	-lole32 \
154	-loleaut32 \
155	-luuid \
156	-lcomctl32
157
158######################################################################
159
160# Targets
161
162.PHONY: all clean
163
164all: $(BINDIR)/utest.exe
165
166clean:
167	@echo "Cleaning `pwd`"
168	$(call clean_obj,$(ALL_OBJS))
169	$(call clean_exe,$(BINDIR)/utest.exe)
170	$(ECHO_CMD)rm -rf $(OBJDIRS)
171
172#
173# Rules
174#
175
176$(BINDIR)/utest.exe: $(CLIENT_OBJS) $(LIBS_BURP)
177	$(call link_conapp,$(CLIENT_LIBS))
178
179include ../Makefile.rules
180