fixed location of dummy.cpp, so that contrib makefiles can use it as well
[wxWidgets.git] / build / bakefiles / common.bkl
1 <?xml version="1.0" ?>
2 <!-- $Id$ -->
3
4 <makefile>
5     
6     <!-- bakefile modules we need: -->
7     <using module="datafiles"/>
8
9     <!-- load python module with wxwindows helpers: -->
10     <using module="wxwin"/>
11
12     <include file="config.bkl"/>
13     
14     
15     <!-- ================================================================== -->
16     <!--                     wxWindows version numbers:                     -->
17     <!-- ================================================================== -->
18
19     <set var="WXVER_MAJOR">$(wxwin.getVersionMajor())</set>
20     <set var="WXVER_MINOR">$(wxwin.getVersionMinor())</set>
21     <set var="WXVER_RELEASE">$(wxwin.getVersionRelease())</set>
22     <set var="WX_VERSION">$(WXVER_MAJOR).$(WXVER_MINOR).$(WXVER_RELEASE)</set>
23
24     <set var="WXSOVERSION">0.0.0</set>
25     <set var="WXMACVERSION">$(WX_VERSION)</set>
26     
27     
28     <!-- ================================================================== -->
29     <!--                     Names of libraries and DLLs:                   -->
30     <!-- ================================================================== -->
31
32     <set var="PORTNAME">
33         <if cond="USE_GUI=='0'">base</if>
34         <if cond="USE_GUI=='1'">$(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)</if>
35     </set>
36
37     <set var="COMPILERORGCC">
38         <if cond="isdefined('COMPILER')">$(COMPILER)</if>
39         <if cond="not isdefined('COMPILER')">gcc</if>
40     </set>
41     <set var="WXCOMPILER">
42         <if cond="PLATFORM_WIN32=='1'">_$(COMPILERORGCC)</if>
43     </set>
44
45     <set var="VENDORTAG">
46         <if cond="PLATFORM_WIN32=='1' and OFFICIAL_BUILD=='1'"></if>
47         <if cond="PLATFORM_WIN32=='1' and OFFICIAL_BUILD=='0'">_$(VENDOR)</if>
48     </set>
49
50     <set var="WXDEBUGFLAG">
51         <if cond="BUILD=='debug'">d</if>
52     </set>
53     <set var="WXUNICODEFLAG">
54         <if cond="UNICODE=='1'">u</if>
55     </set>
56     <set var="WXNAMESUFFIX">
57         $(WXUNICODEFLAG)$(WXDEBUGFLAG)
58     </set>
59     
60     <set var="WXUNIVNAME">
61         <if cond="WXUNIV=='1'">univ</if>
62     </set>
63     <set var="WXUNIV_DEFINE">
64         <if cond="WXUNIV=='1'">__WXUNIVERSAL__</if>
65     </set>
66
67     <if cond="FORMAT=='autoconf'">
68         <set var="WXNAMEPREFIX">wx</set>
69         <set var="WXNAMEPREFIXGUI">wx_$(PORTNAME)$(WXUNIVNAME)</set>
70         <set var="WXVERSIONTAG">-$(WXVER_MAJOR).$(WXVER_MINOR)</set>
71     </if>
72     <if cond="FORMAT!='autoconf'">
73         <set var="WXNAMEPREFIX">wx$(WXVER_MAJOR)$(WXVER_MINOR)</set>
74         <set var="WXNAMEPREFIXGUI">wx$(PORTNAME)$(WXUNIVNAME)$(WXVER_MAJOR)$(WXVER_MINOR)</set>
75         <set var="WXVERSIONTAG"></set>
76     </if>
77     <set var="WXDLLNAMEPREFIX">
78         <if cond="PLATFORM_WIN32=='1'">wx$(WXVER_MAJOR)$(WXVER_MINOR)</if>
79         <if cond="PLATFORM_WIN32=='0'">$(WXNAMEPREFIX)</if>
80     </set>
81     <set var="WXDLLNAMEPREFIXGUI">
82         <if cond="PLATFORM_WIN32=='1'">
83             wx$(PORTNAME)$(WXUNIVNAME)$(WXVER_MAJOR)$(WXVER_MINOR)
84         </if>
85         <if cond="PLATFORM_WIN32=='0'">$(WXNAMEPREFIXGUI)</if>
86     </set>
87     <set var="WXDLLVERSIONTAG">
88         <if cond="PLATFORM_WIN32=='1'"></if>
89         <if cond="PLATFORM_WIN32=='0'">$(WXVERSIONTAG)</if>
90     </set>
91
92     <set var="TOOLCHAIN_NAME">
93         $(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)-$(WXVER_MAJOR).$(WXVER_MINOR)
94     </set>
95
96     
97     <!-- =============================================================== -->
98     <!--                    Names of component libraries:                -->
99     <!-- =============================================================== -->
100
101     <set var="WXLIB_BASE">
102         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('base')))</if>
103     </set>
104     <set var="WXLIB_CORE">
105         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('core')))</if>
106     </set>
107     <set var="WXLIB_HTML">
108         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('html')))</if>
109     </set>
110
111     <set var="WXLIB_MONO">
112         <if cond="MONOLITHIC=='1'">$(mk.evalExpr(wxwin.mkLibName('mono')))</if>
113     </set>
114     
115     
116     <!-- =============================================================== -->
117     <!--             Where to store built libraries and objects:         -->
118     <!-- =============================================================== -->
119     
120
121     <if cond="FORMAT!='autoconf'">
122         <set var="WXDLLFLAG">
123             <if cond="SHARED=='1'">dll</if>
124         </set>
125         <set var="CFG_NAME_PART">
126             $(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
127         </set>
128         <set var="OBJS" make_var="1">$(COMPILER)_$(CFG_NAME_PART)</set>
129         <set var="BUILDDIR">$(OBJS)</set>
130     </if>
131     
132     <set var="LIBDIRNAME">
133         <if cond="FORMAT=='autoconf'">$(top_builddir)lib</if>
134         <if cond="FORMAT!='autoconf'">
135             $(TOP_SRCDIR)lib$(DIRSEP)$(COMPILER)_$(CFG_NAME_PART)
136         </if>
137     </set>
138
139     
140     <!-- =============================================================== -->
141     <!--                        Templates for libs:                      -->
142     <!-- =============================================================== -->
143
144     <set var="DEBUGFLAG">
145         <if cond="BUILD=='debug'">on</if>
146         <if cond="BUILD=='release'">off</if>
147     </set>
148     <set var="OPTIMIZEFLAG">
149         <if cond="BUILD=='debug'">off</if>
150         <if cond="BUILD=='release'">speed</if>
151     </set>
152
153     <set var="DEBUG_DEFINE">
154         <if cond="FORMAT!='autoconf' and BUILD=='debug'">__WXDEBUG__</if>
155     </set>
156     <set var="UNICODE_DEFINE">
157         <if cond="FORMAT!='autoconf' and UNICODE=='1'">wxUSE_UNICODE=1</if>
158     </set>
159     
160     <template id="anylib">
161         <depends cond="FORMAT!='autoconf' and BUILDING_LIB=='1'">setup.h</depends>
162         <dirname>$(LIBDIRNAME)</dirname>
163         <install-to>$(LIBDIR)</install-to>
164         
165         <debug-info>$(DEBUGFLAG)</debug-info>
166         <optimize>$(OPTIMIZEFLAG)</optimize>
167         <threading>multi</threading>
168         <runtime-libs>dynamic</runtime-libs>
169
170         <if cond="FORMAT!='autoconf'">
171             <define>WINVER=0x0400</define>
172             <define>_WIN32_IE=0x0400</define>
173             <define>STRICT</define>
174         </if>
175     </template>
176
177     <template id="3rdparty_lib" template="anylib">
178         <libname>$(id)$(WXDEBUGFLAG)</libname>
179     </template>
180
181
182     <!-- =============================================================== -->
183     <!--                         3rd party libs:                         -->
184     <!-- =============================================================== -->
185     
186     <!-- 3rd party libraries: -->
187     <include file="regex.bkl"/>
188     <include file="zlib.bkl"/>
189     <include file="png.bkl"/>
190     <include file="jpeg.bkl"/>
191     <include file="tiff.bkl"/>
192     <include file="odbc.bkl"/>
193
194     
195     <!-- =============================================================== -->
196     <!--                  Templates for wxWindows libs:                  -->
197     <!-- =============================================================== -->
198
199     <template id="wx">
200         <set var="wxid">$(wxwin.mk_wxid(id))</set>
201         <define>__WX$(TOOLKIT)__</define>
202         <define>$(WXUNIV_DEFINE)</define>
203         <define>$(DEBUG_DEFINE)</define>
204         <define>$(UNICODE_DEFINE)</define>
205         <include>$(TOP_SRCDIR)include</include>
206         <lib-path>$(LIBDIRNAME)</lib-path>        
207         <include cond="FORMAT!='autoconf'">$(LIBDIRNAME)</include>
208         <include>$(INC_TIFF)</include>
209         <include>$(INC_JPEG)</include>
210         <include>$(INC_PNG)</include>
211         <include>$(INC_ZLIB)</include>
212         <include>$(INC_ODBC)</include>
213         <include>$(INC_REGEX)</include>
214     </template>
215
216     <template id="wx_append">
217         <!-- link against builtin 3rd party libs, if needed: -->
218         <sys-lib>$(LIB_TIFF)</sys-lib>
219         <sys-lib>$(LIB_JPEG)</sys-lib>
220         <sys-lib>$(LIB_PNG)</sys-lib>
221         <sys-lib>$(LIB_ZLIB)</sys-lib>
222         <sys-lib>$(LIB_ODBC)</sys-lib>
223         <sys-lib>$(LIB_REGEX)</sys-lib>
224         
225         <ldlibs>$(EXTRALIBS)</ldlibs>
226
227         <!-- system libraries on windows: -->
228         <if cond="FORMAT!='autoconf'">
229             <if cond="COMPILER=='bcc'">
230                 <sys-lib>import32</sys-lib>
231                 <sys-lib>ole2w32</sys-lib>
232             </if>
233             <if cond="COMPILER!='bcc'">
234                 <sys-lib>kernel32</sys-lib>
235                 <sys-lib>user32</sys-lib>
236                 <sys-lib>gdi32</sys-lib>
237                 <sys-lib>comdlg32</sys-lib>
238                 <sys-lib>winspool</sys-lib>
239                 <sys-lib>winmm</sys-lib>
240                 <sys-lib>shell32</sys-lib>
241                 <sys-lib>oldnames</sys-lib>
242                 <sys-lib>comctl32</sys-lib>
243                 <sys-lib>odbc32</sys-lib>
244                 <sys-lib>ole32</sys-lib>
245                 <sys-lib>oleaut32</sys-lib>
246                 <sys-lib>uuid</sys-lib>
247                 <sys-lib>rpcrt4</sys-lib>
248                 <sys-lib>advapi32</sys-lib>
249                 <sys-lib>wsock32</sys-lib>
250             </if>
251         </if>        
252     </template>
253
254     <template id="wx_lib_b" template="wx,anylib">
255         <set var="WXLIBNAME">$(wxwin.mkLibName(wxid))</set>
256         <libname>$(WXLIBNAME)</libname>
257
258         <if cond="FORMAT!='autoconf'">
259             <sources>$(WXTOPDIR)src/msw/dummy.cpp</sources>
260             <precomp-headers-gen>
261                 $(WXTOPDIR)src/msw/dummy.cpp
262             </precomp-headers-gen>
263         </if>
264         <precomp-headers-header>wx/wxprec.h</precomp-headers-header>
265         <precomp-headers>on</precomp-headers>
266         <precomp-headers-file>wxprec_$(id)</precomp-headers-file>
267     </template>
268
269     <template id="wx_dll_b" template="wx_lib_b">
270         <set var="WXDLLNAME">$(wxwin.mkDllName(wxid))</set>
271         <dllname>$(WXDLLNAME)</dllname>
272         <version>$(WX_VERSION)</version>
273         <so_version>$(WXSOVERSION)</so_version>
274         <mac_version>$(WXMACVERSION)</mac_version>
275     </template>
276
277     <template id="wx_lib" template="wx_lib_b"/>
278     <template id="wx_dll" template="wx_dll_b" template_append="wx_append">
279         <depends>wxtiff</depends>
280         <depends>wxjpeg</depends>
281         <depends>wxpng</depends>
282         <depends>wxzlib</depends>
283         <depends cond="FORMAT=='autoconf'">wxodbc</depends>
284         <depends>wxregex</depends>
285     </template>
286     
287     <!-- =============================================================== -->
288     <!--               Support for wxWindows samples and contrib:        -->
289     <!-- =============================================================== -->
290
291     <!-- Link against one wxWin library. Value must be literal! -->
292     <define-tag name="wx-lib" rules="exe,dll">
293         <sys-lib>$(wxwin.libToLink(value))</sys-lib>
294     </define-tag>
295
296 </makefile>