1 # =========================================================================
2 # This makefile was generated by
3 # Bakefile 0.1.9 (http://bakefile.sourceforge.net)
4 # Do not modify, all changes will be overwritten!
5 # =========================================================================
7 !include <../build/msw/config.vc>
9 # -------------------------------------------------------------------------
10 # Do not modify the rest of this file!
11 # -------------------------------------------------------------------------
17 vc_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
18 LIBDIRNAME = .\..\lib\vc_$(LIBTYPE_SUFFIX)$(CFG)
20 $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
21 TEST_CXXFLAGS = /M$(__RUNTIME_LIBS_8)$(__DEBUGRUNTIME) /DWIN32 $(__DEBUGINFO) \
22 /Fd$(OBJS)\test.pdb $(____DEBUGRUNTIME) $(__OPTIMIZEFLAG) \
23 $(__NO_VC_CRTDBG_p) /D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) \
24 $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
25 $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) /I.\..\include /I$(SETUPHDIR) /W4 \
26 /I. $(__DLLFLAG_p) /D_CONSOLE /DwxUSE_GUI=0 $(CPPUNIT_CFLAGS) $(__RTTIFLAG) \
27 $(__EXCEPTIONSFLAG) /Yu"testprec.h" /Fp"$(OBJS)\testprec_test.pch" \
28 $(CPPFLAGS) $(CXXFLAGS)
30 $(OBJS)\test_dummy.obj \
31 $(OBJS)\test_test.obj \
32 $(OBJS)\test_archivetest.obj \
33 $(OBJS)\test_ziptest.obj \
34 $(OBJS)\test_arrays.obj \
35 $(OBJS)\test_datetimetest.obj \
36 $(OBJS)\test_fileconftest.obj \
37 $(OBJS)\test_filekind.obj \
38 $(OBJS)\test_filenametest.obj \
39 $(OBJS)\test_filesystest.obj \
40 $(OBJS)\test_fontmaptest.obj \
41 $(OBJS)\test_formatconvertertest.obj \
42 $(OBJS)\test_hashes.obj \
43 $(OBJS)\test_lists.obj \
44 $(OBJS)\test_longlongtest.obj \
45 $(OBJS)\test_mbconvtest.obj \
46 $(OBJS)\test_regextest.obj \
47 $(OBJS)\test_wxregextest.obj \
48 $(OBJS)\test_scopeguardtest.obj \
49 $(OBJS)\test_strings.obj \
50 $(OBJS)\test_stdstrings.obj \
51 $(OBJS)\test_unicode.obj \
52 $(OBJS)\test_crt.obj \
53 $(OBJS)\test_bstream.obj \
54 $(OBJS)\test_datastreamtest.obj \
55 $(OBJS)\test_ffilestream.obj \
56 $(OBJS)\test_filestream.obj \
57 $(OBJS)\test_largefile.obj \
58 $(OBJS)\test_memstream.obj \
59 $(OBJS)\test_sstream.obj \
60 $(OBJS)\test_tempfile.obj \
61 $(OBJS)\test_textstreamtest.obj \
62 $(OBJS)\test_zlibstream.obj \
64 TEST_GUI_CXXFLAGS = /M$(__RUNTIME_LIBS_23)$(__DEBUGRUNTIME) /DWIN32 \
65 $(__DEBUGINFO) /Fd$(OBJS)\test_gui.pdb $(____DEBUGRUNTIME) \
66 $(__OPTIMIZEFLAG) $(__NO_VC_CRTDBG_p) /D__WXMSW__ $(__WXUNIV_DEFINE_p) \
67 $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
68 $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) \
69 /I.\..\include /I$(SETUPHDIR) /W4 /I. $(__DLLFLAG_p) /I.\..\samples /DNOPCH \
70 $(CPPUNIT_CFLAGS) /D_CONSOLE $(__RTTIFLAG) $(__EXCEPTIONSFLAG) \
71 /Yu"testprec.h" /Fp"$(OBJS)\testprec_test_gui.pch" $(CPPFLAGS) $(CXXFLAGS)
73 $(OBJS)\test_gui_sample.res \
74 $(OBJS)\test_gui_dummy.obj \
75 $(OBJS)\test_gui_test.obj \
76 $(OBJS)\test_gui_rect.obj \
77 $(OBJS)\test_gui_size.obj \
78 $(OBJS)\test_gui_point.obj
80 ### Conditionally set variables: ###
82 !if "$(USE_GUI)" == "0"
85 !if "$(USE_GUI)" == "1"
88 !if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
91 !if "$(DEBUG_FLAG)" == "1"
94 !if "$(UNICODE)" == "1"
97 !if "$(WXUNIV)" == "1"
100 !if "$(SHARED)" == "1"
103 !if "$(SHARED)" == "0"
106 !if "$(SHARED)" == "1"
109 !if "$(MONOLITHIC)" == "0"
112 !if "$(MONOLITHIC)" == "1"
115 !if "$(RUNTIME_LIBS)" == "dynamic"
118 !if "$(RUNTIME_LIBS)" == "static"
119 __RUNTIME_LIBS_8 = $(__THREADSFLAG)
121 !if "$(MONOLITHIC)" == "0"
123 wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net.lib
125 !if "$(USE_GUI)" == "1"
126 __test_gui___depname = $(OBJS)\test_gui.exe
128 !if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
129 ____DEBUGRUNTIME_17_p_1 = /d _DEBUG
131 !if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
132 ____DEBUGRUNTIME_17_p_1 =
134 !if "$(DEBUG_RUNTIME_LIBS)" == "0"
135 ____DEBUGRUNTIME_17_p_1 =
137 !if "$(DEBUG_RUNTIME_LIBS)" == "1"
138 ____DEBUGRUNTIME_17_p_1 = /d _DEBUG
140 !if "$(RUNTIME_LIBS)" == "dynamic"
141 __RUNTIME_LIBS_23 = D
143 !if "$(RUNTIME_LIBS)" == "static"
144 __RUNTIME_LIBS_23 = $(__THREADSFLAG)
146 !if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
147 __NO_VC_CRTDBG_p_3 = /d __NO_VC_CRTDBG__
149 !if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
150 __NO_VC_CRTDBG_p_3 = /d __NO_VC_CRTDBG__
152 !if "$(WXUNIV)" == "1"
153 __WXUNIV_DEFINE_p_3 = /d __WXUNIVERSAL__
155 !if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
156 __DEBUG_DEFINE_p_3 = /d __WXDEBUG__
158 !if "$(DEBUG_FLAG)" == "1"
159 __DEBUG_DEFINE_p_3 = /d __WXDEBUG__
161 !if "$(USE_EXCEPTIONS)" == "0"
162 __EXCEPTIONS_DEFINE_p_3 = /d wxNO_EXCEPTIONS
164 !if "$(USE_RTTI)" == "0"
165 __RTTI_DEFINE_p_3 = /d wxNO_RTTI
167 !if "$(USE_THREADS)" == "0"
168 __THREAD_DEFINE_p_3 = /d wxNO_THREADS
170 !if "$(UNICODE)" == "1"
171 __UNICODE_DEFINE_p_3 = /d _UNICODE
174 __MSLU_DEFINE_p_3 = /d wxUSE_UNICODE_MSLU=1
176 !if "$(SHARED)" == "1"
177 __DLLFLAG_p_3 = /d WXUSINGDLL
179 !if "$(MONOLITHIC)" == "0"
181 wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib
183 !if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
186 !if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
189 !if "$(DEBUG_INFO)" == "0"
192 !if "$(DEBUG_INFO)" == "1"
195 !if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
196 __DEBUGINFO_1 = /DEBUG
198 !if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
201 !if "$(DEBUG_INFO)" == "0"
204 !if "$(DEBUG_INFO)" == "1"
205 __DEBUGINFO_1 = /DEBUG
207 !if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
208 ____DEBUGRUNTIME = /D_DEBUG
210 !if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
213 !if "$(DEBUG_RUNTIME_LIBS)" == "0"
216 !if "$(DEBUG_RUNTIME_LIBS)" == "1"
217 ____DEBUGRUNTIME = /D_DEBUG
219 !if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
222 !if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
225 !if "$(DEBUG_RUNTIME_LIBS)" == "0"
228 !if "$(DEBUG_RUNTIME_LIBS)" == "1"
231 !if "$(BUILD)" == "debug"
234 !if "$(BUILD)" == "release"
237 !if "$(USE_THREADS)" == "0"
240 !if "$(USE_THREADS)" == "1"
243 !if "$(USE_RTTI)" == "0"
246 !if "$(USE_RTTI)" == "1"
249 !if "$(USE_EXCEPTIONS)" == "0"
252 !if "$(USE_EXCEPTIONS)" == "1"
253 __EXCEPTIONSFLAG = /EHsc
255 !if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
256 __NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
258 !if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
259 __NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
261 !if "$(WXUNIV)" == "1"
262 __WXUNIV_DEFINE_p = /D__WXUNIVERSAL__
264 !if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
265 __DEBUG_DEFINE_p = /D__WXDEBUG__
267 !if "$(DEBUG_FLAG)" == "1"
268 __DEBUG_DEFINE_p = /D__WXDEBUG__
270 !if "$(USE_EXCEPTIONS)" == "0"
271 __EXCEPTIONS_DEFINE_p = /DwxNO_EXCEPTIONS
273 !if "$(USE_RTTI)" == "0"
274 __RTTI_DEFINE_p = /DwxNO_RTTI
276 !if "$(USE_THREADS)" == "0"
277 __THREAD_DEFINE_p = /DwxNO_THREADS
279 !if "$(UNICODE)" == "1"
280 __UNICODE_DEFINE_p = /D_UNICODE
283 __MSLU_DEFINE_p = /DwxUSE_UNICODE_MSLU=1
285 !if "$(SHARED)" == "1"
286 __DLLFLAG_p = /DWXUSINGDLL
288 !if "$(MONOLITHIC)" == "0"
290 wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
292 !if "$(MONOLITHIC)" == "1"
294 wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
296 !if "$(USE_GUI)" == "1"
297 __LIB_TIFF_p = wxtiff$(WXDEBUGFLAG).lib
299 !if "$(USE_GUI)" == "1"
300 __LIB_JPEG_p = wxjpeg$(WXDEBUGFLAG).lib
302 !if "$(USE_GUI)" == "1"
303 __LIB_PNG_p = wxpng$(WXDEBUGFLAG).lib
306 __UNICOWS_LIB_p = unicows.lib
312 -if not exist $(OBJS) mkdir $(OBJS)
316 all: $(OBJS)\test.exe $(__test_gui___depname) data
319 -if exist $(OBJS)\*.obj del $(OBJS)\*.obj
320 -if exist $(OBJS)\*.res del $(OBJS)\*.res
321 -if exist $(OBJS)\*.pch del $(OBJS)\*.pch
322 -if exist $(OBJS)\test.exe del $(OBJS)\test.exe
323 -if exist $(OBJS)\test.ilk del $(OBJS)\test.ilk
324 -if exist $(OBJS)\test.pdb del $(OBJS)\test.pdb
325 -if exist $(OBJS)\test_gui.exe del $(OBJS)\test_gui.exe
326 -if exist $(OBJS)\test_gui.ilk del $(OBJS)\test_gui.ilk
327 -if exist $(OBJS)\test_gui.pdb del $(OBJS)\test_gui.pdb
329 $(OBJS)\test.exe: $(OBJS)\test_dummy.obj $(TEST_OBJECTS)
330 link /NOLOGO /OUT:$@ $(LDFLAGS) $(__DEBUGINFO_1) /LIBPATH:$(LIBDIRNAME) /SUBSYSTEM:CONSOLE $(CPPUNIT_LIBS) @<<
331 $(TEST_OBJECTS) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib
334 !if "$(USE_GUI)" == "1"
335 $(OBJS)\test_gui.exe: $(OBJS)\test_gui_dummy.obj $(TEST_GUI_OBJECTS) $(OBJS)\test_gui_sample.res
336 link /NOLOGO /OUT:$@ $(LDFLAGS) $(__DEBUGINFO_1) /LIBPATH:$(LIBDIRNAME) $(CPPUNIT_LIBS) /SUBSYSTEM:CONSOLE @<<
337 $(TEST_GUI_OBJECTS) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib oleacc.lib odbc32.lib
342 if not exist $(OBJS) mkdir $(OBJS)
343 for %f in (testdata.fc) do if not exist $(OBJS)\%f copy .\%f $(OBJS)
345 $(OBJS)\test_dummy.obj: .\dummy.cpp
346 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) /Yctestprec.h $**
348 $(OBJS)\test_test.obj: .\test.cpp
349 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
351 $(OBJS)\test_archivetest.obj: .\archive\archivetest.cpp
352 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
354 $(OBJS)\test_ziptest.obj: .\archive\ziptest.cpp
355 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
357 $(OBJS)\test_arrays.obj: .\arrays\arrays.cpp
358 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
360 $(OBJS)\test_datetimetest.obj: .\datetime\datetimetest.cpp
361 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
363 $(OBJS)\test_fileconftest.obj: .\fileconf\fileconftest.cpp
364 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
366 $(OBJS)\test_filekind.obj: .\filekind\filekind.cpp
367 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
369 $(OBJS)\test_filenametest.obj: .\filename\filenametest.cpp
370 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
372 $(OBJS)\test_filesystest.obj: .\filesys\filesystest.cpp
373 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
375 $(OBJS)\test_fontmaptest.obj: .\fontmap\fontmaptest.cpp
376 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
378 $(OBJS)\test_formatconvertertest.obj: .\formatconverter\formatconvertertest.cpp
379 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
381 $(OBJS)\test_hashes.obj: .\hashes\hashes.cpp
382 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
384 $(OBJS)\test_lists.obj: .\lists\lists.cpp
385 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
387 $(OBJS)\test_longlongtest.obj: .\longlong\longlongtest.cpp
388 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
390 $(OBJS)\test_mbconvtest.obj: .\mbconv\mbconvtest.cpp
391 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
393 $(OBJS)\test_regextest.obj: .\regex\regextest.cpp
394 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
396 $(OBJS)\test_wxregextest.obj: .\regex\wxregextest.cpp
397 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
399 $(OBJS)\test_scopeguardtest.obj: .\scopeguard\scopeguardtest.cpp
400 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
402 $(OBJS)\test_strings.obj: .\strings\strings.cpp
403 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
405 $(OBJS)\test_stdstrings.obj: .\strings\stdstrings.cpp
406 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
408 $(OBJS)\test_unicode.obj: .\strings\unicode.cpp
409 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
411 $(OBJS)\test_crt.obj: .\strings\crt.cpp
412 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
414 $(OBJS)\test_bstream.obj: .\streams\bstream.cpp
415 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
417 $(OBJS)\test_datastreamtest.obj: .\streams\datastreamtest.cpp
418 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
420 $(OBJS)\test_ffilestream.obj: .\streams\ffilestream.cpp
421 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
423 $(OBJS)\test_filestream.obj: .\streams\filestream.cpp
424 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
426 $(OBJS)\test_largefile.obj: .\streams\largefile.cpp
427 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
429 $(OBJS)\test_memstream.obj: .\streams\memstream.cpp
430 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
432 $(OBJS)\test_sstream.obj: .\streams\sstream.cpp
433 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
435 $(OBJS)\test_tempfile.obj: .\streams\tempfile.cpp
436 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
438 $(OBJS)\test_textstreamtest.obj: .\streams\textstreamtest.cpp
439 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
441 $(OBJS)\test_zlibstream.obj: .\streams\zlibstream.cpp
442 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
444 $(OBJS)\test_uris.obj: .\uris\uris.cpp
445 $(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
447 $(OBJS)\test_gui_sample.res: .\..\samples\sample.rc
448 rc /fo$@ /d WIN32 $(____DEBUGRUNTIME_17_p_1) $(__NO_VC_CRTDBG_p_3) /d __WXMSW__ $(__WXUNIV_DEFINE_p_3) $(__DEBUG_DEFINE_p_3) $(__EXCEPTIONS_DEFINE_p_3) $(__RTTI_DEFINE_p_3) $(__THREAD_DEFINE_p_3) $(__UNICODE_DEFINE_p_3) $(__MSLU_DEFINE_p_3) /i .\..\include /i $(SETUPHDIR) /i . $(__DLLFLAG_p_3) /i .\..\samples $**
450 $(OBJS)\test_gui_dummy.obj: .\dummy.cpp
451 $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) /Yctestprec.h $**
453 $(OBJS)\test_gui_test.obj: .\test.cpp
454 $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) $**
456 $(OBJS)\test_gui_rect.obj: .\geometry\rect.cpp
457 $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) $**
459 $(OBJS)\test_gui_size.obj: .\geometry\size.cpp
460 $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) $**
462 $(OBJS)\test_gui_point.obj: .\geometry\point.cpp
463 $(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) $**