Extend subclassablerefcount4
[xapian.git] / xapian-maintainer-tools / win32msvc / win32_tests.mak
blob541d1a29c13ddd7bd679611ca56b3039466147e5
1 # Makefile for Microsoft Visual C++ 7.0 (or compatible)
2 # Originally by Ulrik Petersen
3 # Modified by Charlie Hull, Lemur Consulting Ltd.
4 # 17th March 2006
6 # Will build and run tests
8 !INCLUDE ..\win32\config.mak
10 OUTLIBDIR= ..\win32\$(XAPIAN_DEBUG_OR_RELEASE)\libs
11 OUTDIR= ..\tests
12 INTDIR= ..\tests
15 PROGRAM_APITEST= "$(OUTDIR)\apitest.exe"
16 PROGRAM_INTERNALTEST= "$(OUTDIR)\internaltest.exe"
17 PROGRAM_QUERYPARSERTEST= "$(OUTDIR)\queryparsertest.exe"
18 PROGRAM_STEMTEST= "$(OUTDIR)\stemtest.exe"
19 PROGRAM_TERMGENTEST= "$(OUTDIR)\termgentest.exe"
20 PROGRAM_UNITTEST= "$(OUTDIR)\unittest.exe"
22 ALL : $(CLEAN_COLLATED_HEADERS) $(PROGRAM_APITEST) $(PROGRAM_INTERNALTEST) \
23 $(PROGRAM_QUERYPARSERTEST) $(PROGRAM_STEMTEST) $(PROGRAM_TERMGENTEST) $(PROGRAM_UNITTEST)
26 APITEST : $(PROGRAM_APITEST)
27 STEMTEST : $(PROGRAM_STEMTEST)
28 INTERNALTEST : $(PROGRAM_INTERNALTEST)
29 QUERYPARSERTEST : $(PROGRAM_QUERYPARSERTEST)
30 TERMGENTEST : $(PROGRAM_TERMGENTEST)
31 UNITTEST : $(PROGRAM_UNITTEST)
34 DOTEST :
35 set srcdir=.
36 copy "$(ZLIB_BIN_DIR)\zlib1.dll"
37 apitest -v
38 internaltest
39 queryparsertest
40 stemtest
41 termgentest
42 unittest
45 # remotetest
46 # $(PROGRAM_REMOTETEST) not built
47 # REMOTETEST : $(PROGRAM_REMOTETEST)
48 #PROGRAM_REMOTETEST= "$(OUTDIR)\remotetest.exe"
50 # object files
52 STEMTEST_OBJS= "$(OUTDIR)\stemtest.obj"
54 APITEST_OBJS= \
55 "$(OUTDIR)\apitest.obj" \
56 "$(OUTDIR)\api_anydb.obj" \
57 "$(OUTDIR)\api_backend.obj" \
58 "$(OUTDIR)\api_closedb.obj" \
59 "$(OUTDIR)\api_collapse.obj" \
60 "$(OUTDIR)\api_compact.obj" \
61 "$(OUTDIR)\api_db.obj" \
62 "$(OUTDIR)\api_generated.obj" \
63 "$(OUTDIR)\api_matchspy.obj" \
64 "$(OUTDIR)\api_metadata.obj" \
65 "$(OUTDIR)\api_nodb.obj" \
66 "$(OUTDIR)\api_none.obj" \
67 "$(OUTDIR)\api_opsynonym.obj" \
68 "$(OUTDIR)\api_opvalue.obj" \
69 "$(OUTDIR)\api_percentages.obj" \
70 "$(OUTDIR)\api_posdb.obj" \
71 "$(OUTDIR)\api_postingsource.obj" \
72 "$(OUTDIR)\api_qpbackend.obj" \
73 "$(OUTDIR)\api_query.obj" \
74 "$(OUTDIR)\api_replacedoc.obj" \
75 "$(OUTDIR)\api_replicate.obj" \
76 "$(OUTDIR)\api_scalability.obj" \
77 "$(OUTDIR)\api_serialise.obj" \
78 "$(OUTDIR)\api_sorting.obj" \
79 "$(OUTDIR)\api_spelling.obj" \
80 "$(OUTDIR)\api_stem.obj" \
81 "$(OUTDIR)\api_transdb.obj" \
82 "$(OUTDIR)\api_unicode.obj" \
83 "$(OUTDIR)\api_valuestats.obj" \
84 "$(OUTDIR)\api_valuestream.obj" \
85 "$(OUTDIR)\api_wrdb.obj" \
86 "$(OUTDIR)\dbcheck.obj"
88 INTERNALTEST_OBJS= "$(OUTDIR)\internaltest.obj"
90 QUERYPARSERTEST_OBJS= "$(OUTDIR)\queryparsertest.obj"
92 REMOTETEST_OBJS= "$(OUTDIR)\remotetest.obj"
94 TERMGENTEST_OBJS= "$(OUTDIR)\termgentest.obj"
96 UNITTEST_OBJS= "$(OUTDIR)\unittest.obj"
98 SRC = \
99 "$(INTDIR)\apitest.cc" \
100 "$(INTDIR)\dbcheck.cc" \
101 "$(INTDIR)\internaltest.cc" \
102 "$(INTDIR)\queryparsertest.cc" \
103 "$(INTDIR)\stemtest.cc" \
104 "$(INTDIR)\termgentest.cc" \
105 "$(INTDIR)\unittest.cc"
107 COLLATED_APITEST_SOURCES= \
108 "$(INTDIR)\api_anydb.cc" \
109 "$(INTDIR)\api_backend.cc" \
110 "$(INTDIR)\api_closedb.cc" \
111 "$(INTDIR)\api_collapse.cc" \
112 "$(INTDIR)\api_compact.cc" \
113 "$(INTDIR)\api_db.cc" \
114 "$(INTDIR)\api_generated.cc" \
115 "$(INTDIR)\api_matchspy.cc" \
116 "$(INTDIR)\api_metadata.cc" \
117 "$(INTDIR)\api_nodb.cc" \
118 "$(INTDIR)\api_none.cc" \
119 "$(INTDIR)\api_opsynonym.cc" \
120 "$(INTDIR)\api_opvalue.cc" \
121 "$(INTDIR)\api_percentages.cc" \
122 "$(INTDIR)\api_posdb.cc" \
123 "$(INTDIR)\api_postingsource.cc" \
124 "$(INTDIR)\api_qpbackend.cc" \
125 "$(INTDIR)\api_query.cc" \
126 "$(INTDIR)\api_replacedoc.cc" \
127 "$(INTDIR)\api_replicate.cc" \
128 "$(INTDIR)\api_scalability.cc" \
129 "$(INTDIR)\api_serialise.cc" \
130 "$(INTDIR)\api_sorting.cc" \
131 "$(INTDIR)\api_spelling.cc" \
132 "$(INTDIR)\api_stem.cc" \
133 "$(INTDIR)\api_transdb.cc" \
134 "$(INTDIR)\api_unicode.cc" \
135 "$(INTDIR)\api_valuestats.cc" \
136 "$(INTDIR)\api_valuestream.cc" \
137 "$(INTDIR)\api_wrdb.cc"
139 COLLATED_APITEST_HEADERS=\
140 "$(INTDIR)\api_anydb.h" \
141 "$(INTDIR)\api_backend.h" \
142 "$(INTDIR)\api_closedb.h" \
143 "$(INTDIR)\api_collapse.h" \
144 "$(INTDIR)\api_compact.h" \
145 "$(INTDIR)\api_db.h" \
146 "$(INTDIR)\api_generated.h" \
147 "$(INTDIR)\api_matchspy.h" \
148 "$(INTDIR)\api_metadata.h" \
149 "$(INTDIR)\api_nodb.h" \
150 "$(INTDIR)\api_none.h" \
151 "$(INTDIR)\api_opsynonym.h" \
152 "$(INTDIR)\api_percentages.h" \
153 "$(INTDIR)\api_posdb.h" \
154 "$(INTDIR)\api_postingsource.h" \
155 "$(INTDIR)\api_qpbackend.h" \
156 "$(INTDIR)\api_query.h" \
157 "$(INTDIR)\api_replacedoc.h" \
158 "$(INTDIR)\api_replicate.h" \
159 "$(INTDIR)\api_scalability.h" \
160 "$(INTDIR)\api_serialise.h" \
161 "$(INTDIR)\api_sorting.h" \
162 "$(INTDIR)\api_opsynonym.h" \
163 "$(INTDIR)\api_spelling.h" \
164 "$(INTDIR)\api_transdb.h" \
165 "$(INTDIR)\api_unicode.h" \
166 "$(INTDIR)\api_valuestats.h" \
167 "$(INTDIR)\api_valuestream.h" \
168 "$(INTDIR)\api_wrdb.h"
170 CLEAN_COLLATED_HEADERS:
171 -@erase api_collated.h
172 -@erase $(COLLATED_APITEST_HEADERS)
174 CLEAN :
175 -@erase $(PROGRAM_APITEST)
176 -@erase $(PROGRAM_INTERNALTEST)
177 -@erase $(PROGRAM_QUERYPARSERTEST)
178 -@erase $(PROGRAM_REMOTETEST)
179 -@erase $(PROGRAM_STEMTEST)
180 -@erase $(PROGRAM_TERMGENTEST)
181 -@erase $(APITEST_OBJS)
182 -@erase $(INTERNALTEST_OBJS)
183 -@erase $(QUERYPARSERTEST_OBJS)
184 -@erase $(STEMTEST_OBJS)
185 -@erase $(TERMGENTEST_OBJS)
186 -@erase "$(INTDIR)\*.obj"
187 -@erase "$(INTDIR)\*.pdb"
188 -@erase "$(INTDIR)\*.ilk"
189 -@erase "$(INTDIR)\*.exp"
190 -@erase "$(INTDIR)\*.lib"
191 -@erase "$(INTDIR)\*.manifest"
192 -@erase api_collated.h
193 -@erase api_generated.cc
194 -@erase api_all.h
195 -@erase $(COLLATED_APITEST_HEADERS)
196 if exist ".btreetmp" rmdir ".btreetmp" /s /q
197 if exist ".stub" rmdir ".stub" /s /q
198 if exist ".chert" rmdir ".chert" /s /q
199 if exist ".brass" rmdir ".brass" /s /q
200 if exist ".multichert" rmdir ".multichert" /s /q
201 if exist ".multibrass" rmdir ".multibrass" /s /q
205 CPP_PROJ=$(CPPFLAGS_EXTRA) \
206 -I ".." -I "..\tests" -I "harness" \
207 -Fo"$(INTDIR)\\" -Fd"$(INTDIR)\\" -Tp$(INPUTNAME)
209 CPP_OBJS=..\win32\Tests$(XAPIAN_DEBUG_OR_RELEASE)
210 CPP_SBRS=.
213 api_collated.h api_all.h: collate-test $(COLLATED_APITEST_SOURCES)
214 $(PERL_EXE) "$(INTDIR)/collate-test" "$(INTDIR)" api_collated.h api_all.h $(COLLATED_APITEST_SOURCES)
216 "$(INTDIR)/api_generated.cc": generate-api_generated
217 $(PERL_EXE) "$(INTDIR)/generate-api_generated" > api_generated.cc
219 LINK32=link.exe
220 ALL_LINK32_FLAGS=$(LINK32_FLAGS) $(XAPIAN_LIBS) "$(OUTLIBDIR)\libtest.lib"
222 PROGRAM_DEPENDENCIES = $(XAPIAN_LIBS) "$(OUTLIBDIR)\libtest.lib"
224 # executables
225 "$(OUTDIR)\termgentest.exe" : "$(OUTDIR)" $(DEF_FILE) $(TERMGENTEST_OBJS) \
226 $(PROGRAM_DEPENDENCIES)
227 $(LINK32) @<<
228 $(ALL_LINK32_FLAGS) /out:"$(OUTDIR)\termgentest.exe" $(DEF_FLAGS) $(TERMGENTEST_OBJS)
231 "$(OUTDIR)\stemtest.exe" : "$(OUTDIR)" $(DEF_FILE) $(STEMTEST_OBJS) \
232 $(PROGRAM_DEPENDENCIES)
233 $(LINK32) @<<
234 $(ALL_LINK32_FLAGS) /out:"$(OUTDIR)\stemtest.exe" $(DEF_FLAGS) $(STEMTEST_OBJS)
236 "$(OUTDIR)\internaltest.exe" : "$(OUTDIR)" $(DEF_FILE) $(INTERNALTEST_OBJS) \
237 $(PROGRAM_DEPENDENCIES)
238 $(LINK32) @<<
239 $(ALL_LINK32_FLAGS) /out:"$(OUTDIR)\internaltest.exe" $(DEF_FLAGS) $(INTERNALTEST_OBJS)
243 "$(OUTDIR)\queryparsertest.exe" : "$(OUTDIR)" $(DEF_FILE) $(QUERYPARSERTEST_OBJS) \
244 $(PROGRAM_DEPENDENCIES)
245 $(LINK32) @<<
246 $(ALL_LINK32_FLAGS) /out:"$(OUTDIR)\queryparsertest.exe" $(DEF_FLAGS) $(QUERYPARSERTEST_OBJS)
249 "$(OUTDIR)\apitest.exe" : api_collated.h "$(OUTDIR)" $(DEF_FILE) $(APITEST_OBJS) \
250 $(PROGRAM_DEPENDENCIES)
251 $(LINK32) @<<
252 $(ALL_LINK32_FLAGS) /out:"$(OUTDIR)\apitest.exe" $(DEF_FLAGS) $(APITEST_OBJS)
255 "$(OUTDIR)\remotetest.exe" : "$(OUTDIR)" $(DEF_FILE) $(REMOTETEST_OBJS) \
256 $(PROGRAM_DEPENDENCIES)
257 $(LINK32) @<<
258 $(ALL_LINK32_FLAGS) /out:"$(OUTDIR)\remotetest.exe" $(DEF_FLAGS) $(REMOTETEST_OBJS)
261 "$(OUTDIR)\unittest.exe" : "$(OUTDIR)" $(DEF_FILE) $(UNITTEST_OBJS) \
262 $(PROGRAM_DEPENDENCIES)
263 $(LINK32) @<<
264 $(ALL_LINK32_FLAGS) /out:"$(OUTDIR)\unittest.exe" $(DEF_FLAGS) $(UNITTEST_OBJS)
267 # inference rules, showing how to create one type of file from another with the same root name
268 {.}.cc{$(INTDIR)}.obj::
269 $(CPP) @<<
270 $(CPP_PROJ) $<
273 {.}.cc{$(CPP_SBRS)}.sbr::
274 $(CPP) @<<
275 $(CPP_PROJ) $<
278 # Calculate any header dependencies and automatically insert them into this file
279 HEADERS : api_collated.h
280 -@erase deps.d
281 $(CPP) -showIncludes $(CPP_PROJ) $(SRC) >>deps.d
282 $(CPP) -showIncludes $(CPP_PROJ) $(COLLATED_APITEST_SOURCES) >>deps.d
283 if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
284 # DO NOT DELETE THIS LINE -- xapdep depends on it.