generate makefile.unx files using bakefile
[wxWidgets.git] / build / bakefiles / Bakefiles.bkgen
1 <?xml version="1.0" ?>
2 <!-- $Id$ -->
3
4 <bakefile-gen>
5
6     <!--
7     Formats listed here are not generated by default. To enable them, either
8     remove them from the <disable-formats> directive below or create
9     Bakefiles.local.bkgen file in this directory and add <enable-formats>
10     into it:
11          <?xml version="1.0" ?>
12          <bakefile-gen>
13              <enable-formats>dmars</enable-formats>
14          </bakefile-gen>
15
16     Reasons why these formats are disabled (and so not in CVS):
17
18     cbuilderx - Generated projects are too bad to be included in CVS. Please
19                 *do not* enable this format until FIXMEs in .bkl files related
20                 to cbuilderx are addressed. In particular, the project must
21                 be placed into build/msw(?) directory and store object files
22                 in its subdirectory and it must copy setup.h as others do.
23     cbx_unix  - Doesn't integrate well and won't be used by most Unix people.
24     dmars, dmars_smake, msevc4prj - These are generated at release time and
25                 we don't want to clutter the source tree with these files.
26     -->
27
28     <disable-formats>dmars,dmars_smake,msevc4prj,cbx_unix,cbuilderx</disable-formats>
29
30
31     <!-- These wildcards match all .bkl files in wxWidgets tree: -->
32     <input>
33         wx.bkl
34         ../../contrib/build/*/*.bkl
35         ../../samples/*.bkl
36         ../../samples/*/*.bkl
37         ../../samples/*/*/*.bkl
38         ../../demos/*.bkl
39         ../../demos/*/*.bkl
40         ../../demos/*/*/*.bkl
41         ../../utils/*.bkl
42         ../../utils/*/*.bkl
43         ../../utils/*/*/*.bkl
44         ../../contrib/samples/*.bkl
45         ../../contrib/samples/*/*.bkl
46         ../../contrib/samples/*/*/*.bkl
47         ../../contrib/utils/*/*.bkl
48         ../../tests/*.bkl
49     </input>
50
51     <!-- List of output formats to generate: -->
52     <add-formats>
53         autoconf,borland,dmars_smake,dmars,mingw,msvc,msvc6prj,msevc4prj,watcom,cbuilderx,cbx_unix
54     </add-formats>
55
56     <del-formats files="../../samples/*.bkl">
57         autoconf,msvc6prj,msevc4prj,cbuilderx,cbx_unix
58     </del-formats>
59     <del-formats files="../../demos/*.bkl">
60         msvc6prj,msevc4prj,cbuilderx,cbx_unix
61     </del-formats>
62     <del-formats files="../../samples/html/html_samples.bkl">
63         msvc6prj,msevc4prj,cbuilderx,cbx_unix
64     </del-formats>
65     <del-formats files="../../samples/mobile/mobile_samples.bkl">
66         msvc6prj,msevc4prj,cbuilderx,cbx_unix
67     </del-formats>
68     <del-formats files="../../samples/opengl/opengl_samples.bkl">
69         msvc6prj,msevc4prj,cbuilderx,cbx_unix
70     </del-formats>
71     <del-formats files="../../utils/*.bkl">
72         msvc6prj,msevc4prj,cbuilderx,cbx_unix
73     </del-formats>
74
75     <!-- WinCE can't have console apps: -->
76     <del-formats files="../../samples/console/*">msevc4prj</del-formats>
77     <del-formats files="../../utils/HelpGen/src/*">msevc4prj</del-formats>
78     <del-formats files="../../utils/wxrc/*">msevc4prj</del-formats>
79     <del-formats files="../../contrib/utils/wxrc/*">msevc4prj</del-formats>
80     <del-formats files="../../tests/*">msevc4prj</del-formats>
81
82     <!-- HtmlCtrl sample is Cocoa only (autoconf format) -->
83     <del-formats files="../../samples/html/htmlctrl/htmlctrl.bkl">
84         borland,dmars_smake,dmars,mingw,msvc,msvc6prj,msevc4prj,watcom,cbuilderx,cbx_unix
85     </del-formats>
86
87
88     <!-- Default flags (for all formats and bakefiles): -->
89     <add-flags>-Iformats</add-flags>
90
91
92     <!-- Directories where the files go: -->
93     <add-flags files="wx.bkl" formats="autoconf">
94         -o../../Makefile.in
95     </add-flags>
96     <add-flags files="wx.bkl" formats="borland">
97         -o../msw/makefile.bcc
98     </add-flags>
99     <add-flags files="wx.bkl" formats="dmars_smake">
100         -o../msw/makefile.dms
101     </add-flags>
102     <add-flags files="wx.bkl" formats="dmars">
103         -o../msw/makefile.dmc
104     </add-flags>
105     <add-flags files="wx.bkl" formats="mingw">
106         -o../msw/makefile.gcc
107     </add-flags>
108     <add-flags files="wx.bkl" formats="msvc">
109         -o../msw/makefile.vc
110     </add-flags>
111     <add-flags files="wx.bkl" formats="watcom">
112         -o../msw/makefile.wat
113     </add-flags>
114     <add-flags files="wx.bkl" formats="msvc6prj">
115         -o../msw/wx.dsw
116     </add-flags>
117     <add-flags files="wx.bkl" formats="msevc4prj">
118         -o../wince/wx.vcw
119     </add-flags>
120     <add-flags files="wx.bkl" formats="cbuilderx">
121         -o../../wx.cbx
122     </add-flags>
123     <add-flags files="../../contrib/build/*/*.bkl" formats="autoconf">
124         -o../../contrib/src/$(INPUT_FILE_BASENAME_NOEXT)/Makefile.in
125     </add-flags>
126     <add-flags files="../../contrib/build/*/*.bkl" formats="cbx_unix">
127         -o../../contrib/src/$(INPUT_FILE_BASENAME_NOEXT)/$(INPUT_FILE_BASENAME_NOEXT)Unix.cbx
128     </add-flags>
129     <!-- FIXME: don't do this once it is possible (new CBX version) -->
130     <add-flags files="../../contrib/build/*/*.bkl" formats="cbuilderx">
131         -o../../contrib/src/$(INPUT_FILE_BASENAME_NOEXT)/$(INPUT_FILE_BASENAME_NOEXT).cbx
132     </add-flags>
133     <add-flags files="../../contrib/build/*/*.bkl"
134                formats="mingw,borland,dmars_smake,dmars,watcom,msvc,msvc6prj,msevc4prj">
135         -DSRCDIR=../../src/$(INPUT_FILE_BASENAME_NOEXT)
136     </add-flags>
137
138
139
140     <!-- Format specific settings: -->
141     <add-flags formats="autoconf">
142         -DAUTOCONF_MACROS_FILE=../../autoconf_inc.m4
143     </add-flags>
144
145     <add-formats files="wx.bkl">wx24dsp</add-formats>
146     <add-flags formats="wx24dsp">
147         -DUSE_GUI=1 -DWXUNIV=0 -o../../src/wxWindows.dsp
148     </add-flags>
149
150     <add-formats files="wx.bkl">rpmspec</add-formats>
151
152
153     <!-- Makefile specific settings: -->
154
155     <add-flags formats="borland,dmars_smake,dmars,mingw,msvc,watcom">
156         -DWRITE_OPTIONS_FILE=0
157     </add-flags>
158     <del-flags files="wx.bkl">
159         -DWRITE_OPTIONS_FILE=0
160     </del-flags>
161
162     <add-flags files="wx.bkl" formats="borland">
163         -DOPTIONS_FILE=config.bcc
164     </add-flags>
165     <add-flags files="wx.bkl" formats="dmars_smake">
166         -DOPTIONS_FILE=config.dms
167     </add-flags>
168     <add-flags files="wx.bkl" formats="dmars">
169         -DOPTIONS_FILE=config.dmc
170     </add-flags>
171     <add-flags files="wx.bkl" formats="mingw">
172         -DOPTIONS_FILE=config.gcc
173     </add-flags>
174     <add-flags files="wx.bkl" formats="msvc">
175         -DOPTIONS_FILE=config.vc
176     </add-flags>
177     <add-flags files="wx.bkl" formats="watcom">
178         -DOPTIONS_FILE=config.wat
179     </add-flags>
180
181     <add-flags files="../../*/*">-DWXTOPDIR=../</add-flags>
182     <add-flags files="../../*/*/*">-DWXTOPDIR=../../</add-flags>
183     <add-flags files="../../*/*/*/*">-DWXTOPDIR=../../../</add-flags>
184     <add-flags files="../../*/*/*/*/*">-DWXTOPDIR=../../../../</add-flags>
185
186     <add-flags files="../../*/*" formats="borland">
187         -DOPTIONS_FILE=../build/msw/config.bcc
188     </add-flags>
189     <add-flags files="../../*/*" formats="dmars_smake">
190         -DOPTIONS_FILE=../build/msw/config.dms
191     </add-flags>
192     <add-flags files="../../*/*" formats="dmars">
193         -DOPTIONS_FILE=../build/msw/config.dmc
194     </add-flags>
195     <add-flags files="../../*/*" formats="mingw">
196         -DOPTIONS_FILE=../build/msw/config.gcc
197     </add-flags>
198     <add-flags files="../../*/*" formats="msvc">
199         -DOPTIONS_FILE=../build/msw/config.vc
200     </add-flags>
201     <add-flags files="../../*/*" formats="watcom">
202         -DOPTIONS_FILE=../build/msw/config.wat
203     </add-flags>
204     <add-flags files="../../*/*/*" formats="borland">
205         -DOPTIONS_FILE=../../build/msw/config.bcc
206     </add-flags>
207     <add-flags files="../../*/*/*" formats="dmars_smake">
208         -DOPTIONS_FILE=../../build/msw/config.dms
209     </add-flags>
210     <add-flags files="../../*/*/*" formats="dmars">
211         -DOPTIONS_FILE=../../build/msw/config.dmc
212     </add-flags>
213     <add-flags files="../../*/*/*" formats="mingw">
214         -DOPTIONS_FILE=../../build/msw/config.gcc
215     </add-flags>
216     <add-flags files="../../*/*/*" formats="msvc">
217         -DOPTIONS_FILE=../../build/msw/config.vc
218     </add-flags>
219     <add-flags files="../../*/*/*" formats="watcom">
220         -DOPTIONS_FILE=../../build/msw/config.wat
221     </add-flags>
222     <add-flags files="../../*/*/*/*" formats="borland">
223         -DOPTIONS_FILE=../../../build/msw/config.bcc
224     </add-flags>
225     <add-flags files="../../*/*/*/*" formats="dmars_smake">
226         -DOPTIONS_FILE=../../../build/msw/config.dms
227     </add-flags>
228     <add-flags files="../../*/*/*/*" formats="dmars">
229         -DOPTIONS_FILE=../../../build/msw/config.dmc
230     </add-flags>
231     <add-flags files="../../*/*/*/*" formats="mingw">
232         -DOPTIONS_FILE=../../../build/msw/config.gcc
233     </add-flags>
234     <add-flags files="../../*/*/*/*" formats="msvc">
235         -DOPTIONS_FILE=../../../build/msw/config.vc
236     </add-flags>
237     <add-flags files="../../*/*/*/*" formats="watcom">
238         -DOPTIONS_FILE=../../../build/msw/config.wat
239     </add-flags>
240     <add-flags files="../../*/*/*/*/*" formats="borland">
241         -DOPTIONS_FILE=../../../../build/msw/config.bcc
242     </add-flags>
243     <add-flags files="../../*/*/*/*/*" formats="dmars_smake">
244         -DOPTIONS_FILE=../../../../build/msw/config.dms
245     </add-flags>
246     <add-flags files="../../*/*/*/*/*" formats="dmars">
247         -DOPTIONS_FILE=../../../../build/msw/config.dmc
248     </add-flags>
249     <add-flags files="../../*/*/*/*/*" formats="mingw">
250         -DOPTIONS_FILE=../../../../build/msw/config.gcc
251     </add-flags>
252     <add-flags files="../../*/*/*/*/*" formats="msvc">
253         -DOPTIONS_FILE=../../../../build/msw/config.vc
254     </add-flags>
255     <add-flags files="../../*/*/*/*/*" formats="watcom">
256         -DOPTIONS_FILE=../../../../build/msw/config.wat
257     </add-flags>
258
259     
260     <!-- Makefiles for out-of-tree building of samples on Unix: -->
261     <add-formats files="../../samples/*/*.bkl,../../samples/*/*/*.bkl">
262         gnu
263     </add-formats>
264     <add-flags files="../../samples/*/*.bkl,../../samples/*/*/*.bkl"
265                formats="gnu">
266         -DOUT_OF_TREE_MAKEFILES=1 -o$(INPUT_FILE_DIR)/makefile.unx
267     </add-flags>
268
269     <!-- Personal customizations (not in CVS): -->
270     <include file="Bakefiles.local.bkgen" ignore_missing="1"/>
271
272 </bakefile-gen>