add a simple benchmark for wx and iconv converters benchmarking
[wxWidgets.git] / tests / benchmarks / makefile.vc
1 # =========================================================================
2 #     This makefile was generated by
3 #     Bakefile 0.2.4 (http://www.bakefile.org)
4 #     Do not modify, all changes will be overwritten!
5 # =========================================================================
6
7 !include <../../build/msw/config.vc>
8
9 # -------------------------------------------------------------------------
10 # Do not modify the rest of this file!
11 # -------------------------------------------------------------------------
12
13 ### Variables: ###
14
15 WX_RELEASE_NODOT = 29
16 COMPILER_PREFIX = vc
17 OBJS = \
18         $(COMPILER_PREFIX)_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)$(DIR_SUFFIX_CPU)
19 LIBDIRNAME = \
20         .\..\..\lib\$(COMPILER_PREFIX)$(DIR_SUFFIX_CPU)_$(LIBTYPE_SUFFIX)$(CFG)
21 SETUPHDIR = \
22         $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
23 BENCH_CXXFLAGS = /M$(__RUNTIME_LIBS_8)$(__DEBUGRUNTIME_3) /DWIN32 \
24         $(__DEBUGINFO_0) /Fd$(OBJS)\bench.pdb $(____DEBUGRUNTIME_2_p) \
25         $(__OPTIMIZEFLAG_4) $(__NO_VC_CRTDBG_p) /D__WXMSW__ $(__WXUNIV_DEFINE_p) \
26         $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
27         $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) \
28         $(__GFXCTX_DEFINE_p) /I$(SETUPHDIR) /I.\..\..\include /W4 /I. $(__DLLFLAG_p) \
29         /D_CONSOLE /DwxUSE_GUI=0 $(__RTTIFLAG_9) $(__EXCEPTIONSFLAG_10) $(CPPFLAGS) \
30         $(CXXFLAGS)
31 BENCH_OBJECTS =  \
32         $(OBJS)\bench_bench.obj \
33         $(OBJS)\bench_htmlpars.obj \
34         $(OBJS)\bench_htmltag.obj \
35         $(OBJS)\bench_ipcclient.obj \
36         $(OBJS)\bench_mbconv.obj \
37         $(OBJS)\bench_strings.obj \
38         $(OBJS)\bench_tls.obj
39
40 ### Conditionally set variables: ###
41
42 !if "$(USE_GUI)" == "0"
43 PORTNAME = base
44 !endif
45 !if "$(USE_GUI)" == "1"
46 PORTNAME = msw
47 !endif
48 !if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
49 WXDEBUGFLAG = d
50 !endif
51 !if "$(DEBUG_FLAG)" == "1"
52 WXDEBUGFLAG = d
53 !endif
54 !if "$(UNICODE)" == "1"
55 WXUNICODEFLAG = u
56 !endif
57 !if "$(WXUNIV)" == "1"
58 WXUNIVNAME = univ
59 !endif
60 !if "$(TARGET_CPU)" == "AMD64"
61 DIR_SUFFIX_CPU = _amd64
62 !endif
63 !if "$(TARGET_CPU)" == "IA64"
64 DIR_SUFFIX_CPU = _ia64
65 !endif
66 !if "$(TARGET_CPU)" == "amd64"
67 DIR_SUFFIX_CPU = _amd64
68 !endif
69 !if "$(TARGET_CPU)" == "ia64"
70 DIR_SUFFIX_CPU = _ia64
71 !endif
72 !if "$(SHARED)" == "1"
73 WXDLLFLAG = dll
74 !endif
75 !if "$(SHARED)" == "0"
76 LIBTYPE_SUFFIX = lib
77 !endif
78 !if "$(SHARED)" == "1"
79 LIBTYPE_SUFFIX = dll
80 !endif
81 !if "$(TARGET_CPU)" == "AMD64"
82 LINK_TARGET_CPU = /MACHINE:AMD64
83 !endif
84 !if "$(TARGET_CPU)" == "IA64"
85 LINK_TARGET_CPU = /MACHINE:IA64
86 !endif
87 !if "$(TARGET_CPU)" == "amd64"
88 LINK_TARGET_CPU = /MACHINE:AMD64
89 !endif
90 !if "$(TARGET_CPU)" == "ia64"
91 LINK_TARGET_CPU = /MACHINE:IA64
92 !endif
93 !if "$(MONOLITHIC)" == "0"
94 EXTRALIBS_FOR_BASE = 
95 !endif
96 !if "$(MONOLITHIC)" == "1"
97 EXTRALIBS_FOR_BASE =  
98 !endif
99 !if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
100 __DEBUGINFO_0 = /Zi
101 !endif
102 !if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
103 __DEBUGINFO_0 = 
104 !endif
105 !if "$(DEBUG_INFO)" == "0"
106 __DEBUGINFO_0 = 
107 !endif
108 !if "$(DEBUG_INFO)" == "1"
109 __DEBUGINFO_0 = /Zi
110 !endif
111 !if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
112 __DEBUGINFO_1 = /DEBUG
113 !endif
114 !if "$(BUILD)" == "release" && "$(DEBUG_INFO)" == "default"
115 __DEBUGINFO_1 = 
116 !endif
117 !if "$(DEBUG_INFO)" == "0"
118 __DEBUGINFO_1 = 
119 !endif
120 !if "$(DEBUG_INFO)" == "1"
121 __DEBUGINFO_1 = /DEBUG
122 !endif
123 !if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
124 ____DEBUGRUNTIME_2_p = /D_DEBUG
125 !endif
126 !if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
127 ____DEBUGRUNTIME_2_p = 
128 !endif
129 !if "$(DEBUG_RUNTIME_LIBS)" == "0"
130 ____DEBUGRUNTIME_2_p = 
131 !endif
132 !if "$(DEBUG_RUNTIME_LIBS)" == "1"
133 ____DEBUGRUNTIME_2_p = /D_DEBUG
134 !endif
135 !if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "default"
136 __DEBUGRUNTIME_3 = d
137 !endif
138 !if "$(BUILD)" == "release" && "$(DEBUG_RUNTIME_LIBS)" == "default"
139 __DEBUGRUNTIME_3 = 
140 !endif
141 !if "$(DEBUG_RUNTIME_LIBS)" == "0"
142 __DEBUGRUNTIME_3 = 
143 !endif
144 !if "$(DEBUG_RUNTIME_LIBS)" == "1"
145 __DEBUGRUNTIME_3 = d
146 !endif
147 !if "$(BUILD)" == "debug"
148 __OPTIMIZEFLAG_4 = /Od
149 !endif
150 !if "$(BUILD)" == "release"
151 __OPTIMIZEFLAG_4 = /O2
152 !endif
153 !if "$(USE_THREADS)" == "0"
154 __THREADSFLAG_7 = L
155 !endif
156 !if "$(USE_THREADS)" == "1"
157 __THREADSFLAG_7 = T
158 !endif
159 !if "$(RUNTIME_LIBS)" == "dynamic"
160 __RUNTIME_LIBS_8 = D
161 !endif
162 !if "$(RUNTIME_LIBS)" == "static"
163 __RUNTIME_LIBS_8 = $(__THREADSFLAG_7)
164 !endif
165 !if "$(USE_RTTI)" == "0"
166 __RTTIFLAG_9 = 
167 !endif
168 !if "$(USE_RTTI)" == "1"
169 __RTTIFLAG_9 = /GR
170 !endif
171 !if "$(USE_EXCEPTIONS)" == "0"
172 __EXCEPTIONSFLAG_10 = 
173 !endif
174 !if "$(USE_EXCEPTIONS)" == "1"
175 __EXCEPTIONSFLAG_10 = /EHsc
176 !endif
177 !if "$(BUILD)" == "debug" && "$(DEBUG_RUNTIME_LIBS)" == "0"
178 __NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
179 !endif
180 !if "$(BUILD)" == "release" && "$(DEBUG_FLAG)" == "1"
181 __NO_VC_CRTDBG_p = /D__NO_VC_CRTDBG__
182 !endif
183 !if "$(WXUNIV)" == "1"
184 __WXUNIV_DEFINE_p = /D__WXUNIVERSAL__
185 !endif
186 !if "$(BUILD)" == "debug" && "$(DEBUG_FLAG)" == "default"
187 __DEBUG_DEFINE_p = /D__WXDEBUG__
188 !endif
189 !if "$(DEBUG_FLAG)" == "1"
190 __DEBUG_DEFINE_p = /D__WXDEBUG__
191 !endif
192 !if "$(USE_EXCEPTIONS)" == "0"
193 __EXCEPTIONS_DEFINE_p = /DwxNO_EXCEPTIONS
194 !endif
195 !if "$(USE_RTTI)" == "0"
196 __RTTI_DEFINE_p = /DwxNO_RTTI
197 !endif
198 !if "$(USE_THREADS)" == "0"
199 __THREAD_DEFINE_p = /DwxNO_THREADS
200 !endif
201 !if "$(UNICODE)" == "0"
202 __UNICODE_DEFINE_p = /DwxUSE_UNICODE=0
203 !endif
204 !if "$(UNICODE)" == "1"
205 __UNICODE_DEFINE_p = /D_UNICODE
206 !endif
207 !if "$(MSLU)" == "1"
208 __MSLU_DEFINE_p = /DwxUSE_UNICODE_MSLU=1
209 !endif
210 !if "$(USE_GDIPLUS)" == "1"
211 __GFXCTX_DEFINE_p = /DwxUSE_GRAPHICS_CONTEXT=1
212 !endif
213 !if "$(SHARED)" == "1"
214 __DLLFLAG_p = /DWXUSINGDLL
215 !endif
216 !if "$(MONOLITHIC)" == "0"
217 __WXLIB_BASE_p = \
218         wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
219 !endif
220 !if "$(MONOLITHIC)" == "0"
221 __WXLIB_NET_p = \
222         wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net.lib
223 !endif
224 !if "$(MONOLITHIC)" == "1"
225 __WXLIB_MONO_p = \
226         wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib
227 !endif
228 !if "$(MSLU)" == "1"
229 __UNICOWS_LIB_p = unicows.lib
230 !endif
231 !if "$(USE_GDIPLUS)" == "1"
232 __GDIPLUS_LIB_p = gdiplus.lib
233 !endif
234
235
236 all: $(OBJS)
237 $(OBJS):
238         -if not exist $(OBJS) mkdir $(OBJS)
239
240 ### Targets: ###
241
242 all: $(OBJS)\bench.exe data
243
244 clean: 
245         -if exist $(OBJS)\*.obj del $(OBJS)\*.obj
246         -if exist $(OBJS)\*.res del $(OBJS)\*.res
247         -if exist $(OBJS)\*.pch del $(OBJS)\*.pch
248         -if exist $(OBJS)\bench.exe del $(OBJS)\bench.exe
249         -if exist $(OBJS)\bench.ilk del $(OBJS)\bench.ilk
250         -if exist $(OBJS)\bench.pdb del $(OBJS)\bench.pdb
251
252 $(OBJS)\bench.exe: $(BENCH_OBJECTS)
253         link /NOLOGO /OUT:$@  $(__DEBUGINFO_1) /pdb:"$(OBJS)\bench.pdb"  $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) /SUBSYSTEM:CONSOLE $(LDFLAGS) @<<
254         $(BENCH_OBJECTS)  $(__WXLIB_BASE_p)  $(__WXLIB_NET_p)  $(__WXLIB_MONO_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_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
255 <<
256
257 data: 
258         if not exist $(OBJS) mkdir $(OBJS)
259         for %f in (htmltest.html) do if not exist $(OBJS)\%f copy .\%f $(OBJS)
260
261 $(OBJS)\bench_bench.obj: .\bench.cpp
262         $(CXX) /c /nologo /TP /Fo$@ $(BENCH_CXXFLAGS) .\bench.cpp
263
264 $(OBJS)\bench_htmlpars.obj: .\htmlparser\htmlpars.cpp
265         $(CXX) /c /nologo /TP /Fo$@ $(BENCH_CXXFLAGS) .\htmlparser\htmlpars.cpp
266
267 $(OBJS)\bench_htmltag.obj: .\htmlparser\htmltag.cpp
268         $(CXX) /c /nologo /TP /Fo$@ $(BENCH_CXXFLAGS) .\htmlparser\htmltag.cpp
269
270 $(OBJS)\bench_ipcclient.obj: .\ipcclient.cpp
271         $(CXX) /c /nologo /TP /Fo$@ $(BENCH_CXXFLAGS) .\ipcclient.cpp
272
273 $(OBJS)\bench_mbconv.obj: .\mbconv.cpp
274         $(CXX) /c /nologo /TP /Fo$@ $(BENCH_CXXFLAGS) .\mbconv.cpp
275
276 $(OBJS)\bench_strings.obj: .\strings.cpp
277         $(CXX) /c /nologo /TP /Fo$@ $(BENCH_CXXFLAGS) .\strings.cpp
278
279 $(OBJS)\bench_tls.obj: .\tls.cpp
280         $(CXX) /c /nologo /TP /Fo$@ $(BENCH_CXXFLAGS) .\tls.cpp
281