<?xml version="1.0" ?>
<!-- $Id$ -->

<bakefile-gen>

    <!--
    Formats listed here are not generated by default. To enable them, either
    remove them from the <disable-formats> directive below or create
    Bakefiles.local.bkgen file in this directory and add <enable-formats>
    into it:
         <?xml version="1.0" ?>
         <bakefile-gen>
             <enable-formats>dmars</enable-formats>
         </bakefile-gen>

    Reasons why these formats are disabled (and so not in CVS):
    
    dmars     - In beta testing, will be added when it stabilizes.
    dmars_smake     - ditto
    msevc4prj - ditto
    cbuilderx - Generated projects are too bad to be included in CVS. Please
                *do not* enable this format until FIXMEs in .bkl files related
                to cbuilderx are addressed. In particular, the project must
                be placed into build/msw(?) directory and store object files
                in its subdirectory and it must copy setup.h as others do.
    cbx_unix  - Doesn't integrate well and won't be used by most Unix people.
    -->
    
    <disable-formats>dmars,dmars_smake,cbx_unix,cbuilderx,msevc4prj</disable-formats>
    

    <!-- These wildcards match all .bkl files in wxWidgets tree: -->
    <input>
        wx.bkl
        ../../contrib/build/*/*.bkl
        ../../samples/*.bkl
        ../../samples/*/*.bkl
        ../../samples/*/*/*.bkl
        ../../demos/*.bkl
        ../../demos/*/*.bkl
        ../../demos/*/*/*.bkl
        ../../utils/*.bkl
        ../../utils/*/*.bkl
        ../../utils/*/*/*.bkl
        ../../contrib/samples/*.bkl
        ../../contrib/samples/*/*.bkl
        ../../contrib/samples/*/*/*.bkl
        ../../contrib/utils/*/*.bkl
        ../../tests/*.bkl
    </input>

    <!-- List of output formats to generate: -->
    <add-formats>
        autoconf,borland,dmars_smake,dmars,mingw,msvc,msvc6prj,msevc4prj,watcom,cbuilderx,cbx_unix
    </add-formats>
    
    <del-formats files="../../samples/*.bkl">
        autoconf,msvc6prj,msevc4prj,cbuilderx,cbx_unix
    </del-formats>
    <del-formats files="../../demos/*.bkl">
        msvc6prj,msevc4prj,cbuilderx,cbx_unix
    </del-formats>
    <del-formats files="../../samples/html/html_samples.bkl">
        msvc6prj,msevc4prj,cbuilderx,cbx_unix
    </del-formats>
    <del-formats files="../../samples/mobile/mobile_samples.bkl">
        msvc6prj,msevc4prj,cbuilderx,cbx_unix
    </del-formats>
    <del-formats files="../../samples/opengl/opengl_samples.bkl">
        msvc6prj,msevc4prj,cbuilderx,cbx_unix
    </del-formats>
    <del-formats files="../../utils/*.bkl">
        msvc6prj,msevc4prj,cbuilderx,cbx_unix
    </del-formats>

    <!-- WinCE can't have console apps: -->
    <del-formats files="../../samples/console/*">msevc4prj</del-formats>
    <del-formats files="../../utils/HelpGen/src/*">msevc4prj</del-formats>
    <del-formats files="../../utils/wxrc/*">msevc4prj</del-formats>
    <del-formats files="../../contrib/utils/wxrc/*">msevc4prj</del-formats>
    <del-formats files="../../tests/*">msevc4prj</del-formats>

    
    <!-- Default flags (for all formats and bakefiles): -->
    <add-flags>-Iformats</add-flags>
    
    
    <!-- Directories where the files go: -->
    <add-flags files="wx.bkl" formats="autoconf">
        -o../../Makefile.in
    </add-flags>
    <add-flags files="wx.bkl" formats="borland">
        -o../msw/makefile.bcc
    </add-flags>
    <add-flags files="wx.bkl" formats="dmars_smake">
        -o../msw/makefile.dms
    </add-flags>
    <add-flags files="wx.bkl" formats="dmars">
        -o../msw/makefile.dmc
    </add-flags>
    <add-flags files="wx.bkl" formats="mingw">
        -o../msw/makefile.gcc
    </add-flags>
    <add-flags files="wx.bkl" formats="msvc">
        -o../msw/makefile.vc
    </add-flags>
    <add-flags files="wx.bkl" formats="watcom">
        -o../msw/makefile.wat
    </add-flags>
    <add-flags files="wx.bkl" formats="msvc6prj">
        -o../msw/wx.dsw
    </add-flags>
    <add-flags files="wx.bkl" formats="msevc4prj">
        -o../wince/wx.vcw
    </add-flags>
    <add-flags files="wx.bkl" formats="cbuilderx">
        -o../../wx.cbx
    </add-flags>
    <add-flags files="../../contrib/build/*/*.bkl" formats="autoconf">
        -o../../contrib/src/$(INPUT_FILE_BASENAME_NOEXT)/Makefile.in
    </add-flags>
    <add-flags files="../../contrib/build/*/*.bkl" formats="cbx_unix">
        -o../../contrib/src/$(INPUT_FILE_BASENAME_NOEXT)/$(INPUT_FILE_BASENAME_NOEXT)Unix.cbx
    </add-flags>
    <!-- FIXME: don't do this once it is possible (new CBX version) -->
    <add-flags files="../../contrib/build/*/*.bkl" formats="cbuilderx">
        -o../../contrib/src/$(INPUT_FILE_BASENAME_NOEXT)/$(INPUT_FILE_BASENAME_NOEXT).cbx
    </add-flags>
    <add-flags files="../../contrib/build/*/*.bkl"
               formats="mingw,borland,dmars_smake,dmars,watcom,msvc,msvc6prj,msevc4prj">
        -DSRCDIR=../../src/$(INPUT_FILE_BASENAME_NOEXT)
    </add-flags>

    

    <!-- Format specific settings: -->
    <add-flags formats="autoconf">
        -DAUTOCONF_MACROS_FILE=../../autoconf_inc.m4
    </add-flags>

    <add-formats files="wx.bkl">wx24dsp</add-formats>
    <add-flags formats="wx24dsp">
        -DUSE_GUI=1 -DWXUNIV=0 -o../../src/wxWindows.dsp
    </add-flags>
    
    <add-formats files="wx.bkl">rpmspec</add-formats>


    <!-- Makefile specific settings: -->

    <add-flags formats="borland,dmars_smake,dmars,mingw,msvc,watcom">
        -DWRITE_OPTIONS_FILE=0
    </add-flags>
    <del-flags files="wx.bkl">
        -DWRITE_OPTIONS_FILE=0
    </del-flags>
    
    <add-flags files="wx.bkl" formats="borland">
        -DOPTIONS_FILE=config.bcc
    </add-flags>
    <add-flags files="wx.bkl" formats="dmars_smake">
        -DOPTIONS_FILE=config.dms
    </add-flags>
    <add-flags files="wx.bkl" formats="dmars">
        -DOPTIONS_FILE=config.dmc
    </add-flags>
    <add-flags files="wx.bkl" formats="mingw">
        -DOPTIONS_FILE=config.gcc
    </add-flags>
    <add-flags files="wx.bkl" formats="msvc">
        -DOPTIONS_FILE=config.vc
    </add-flags>
    <add-flags files="wx.bkl" formats="watcom">
        -DOPTIONS_FILE=config.wat
    </add-flags>

    <add-flags files="../../*/*">-DWXTOPDIR=../</add-flags>
    <add-flags files="../../*/*/*">-DWXTOPDIR=../../</add-flags>
    <add-flags files="../../*/*/*/*">-DWXTOPDIR=../../../</add-flags>
    <add-flags files="../../*/*/*/*/*">-DWXTOPDIR=../../../../</add-flags>
    
    <add-flags files="../../*/*" formats="borland">
        -DOPTIONS_FILE=../build/msw/config.bcc
    </add-flags>
    <add-flags files="../../*/*" formats="dmars_smake">
        -DOPTIONS_FILE=../build/msw/config.dms
    </add-flags>
    <add-flags files="../../*/*" formats="dmars">
        -DOPTIONS_FILE=../build/msw/config.dmc
    </add-flags>
    <add-flags files="../../*/*" formats="mingw">
        -DOPTIONS_FILE=../build/msw/config.gcc
    </add-flags>
    <add-flags files="../../*/*" formats="msvc">
        -DOPTIONS_FILE=../build/msw/config.vc
    </add-flags>
    <add-flags files="../../*/*" formats="watcom">
        -DOPTIONS_FILE=../build/msw/config.wat
    </add-flags>
    <add-flags files="../../*/*/*" formats="borland">
        -DOPTIONS_FILE=../../build/msw/config.bcc
    </add-flags>
    <add-flags files="../../*/*/*" formats="dmars_smake">
        -DOPTIONS_FILE=../../build/msw/config.dms
    </add-flags>
    <add-flags files="../../*/*/*" formats="dmars">
        -DOPTIONS_FILE=../../build/msw/config.dmc
    </add-flags>
    <add-flags files="../../*/*/*" formats="mingw">
        -DOPTIONS_FILE=../../build/msw/config.gcc
    </add-flags>
    <add-flags files="../../*/*/*" formats="msvc">
        -DOPTIONS_FILE=../../build/msw/config.vc
    </add-flags>
    <add-flags files="../../*/*/*" formats="watcom">
        -DOPTIONS_FILE=../../build/msw/config.wat
    </add-flags>
    <add-flags files="../../*/*/*/*" formats="borland">
        -DOPTIONS_FILE=../../../build/msw/config.bcc
    </add-flags>
    <add-flags files="../../*/*/*/*" formats="dmars_smake">
        -DOPTIONS_FILE=../../../build/msw/config.dms
    </add-flags>
    <add-flags files="../../*/*/*/*" formats="dmars">
        -DOPTIONS_FILE=../../../build/msw/config.dmc
    </add-flags>
    <add-flags files="../../*/*/*/*" formats="mingw">
        -DOPTIONS_FILE=../../../build/msw/config.gcc
    </add-flags>
    <add-flags files="../../*/*/*/*" formats="msvc">
        -DOPTIONS_FILE=../../../build/msw/config.vc
    </add-flags>
    <add-flags files="../../*/*/*/*" formats="watcom">
        -DOPTIONS_FILE=../../../build/msw/config.wat
    </add-flags>
    <add-flags files="../../*/*/*/*/*" formats="borland">
        -DOPTIONS_FILE=../../../../build/msw/config.bcc
    </add-flags>
    <add-flags files="../../*/*/*/*/*" formats="dmars_smake">
        -DOPTIONS_FILE=../../../../build/msw/config.dms
    </add-flags>
    <add-flags files="../../*/*/*/*/*" formats="dmars">
        -DOPTIONS_FILE=../../../../build/msw/config.dmc
    </add-flags>
    <add-flags files="../../*/*/*/*/*" formats="mingw">
        -DOPTIONS_FILE=../../../../build/msw/config.gcc
    </add-flags>
    <add-flags files="../../*/*/*/*/*" formats="msvc">
        -DOPTIONS_FILE=../../../../build/msw/config.vc
    </add-flags>
    <add-flags files="../../*/*/*/*/*" formats="watcom">
        -DOPTIONS_FILE=../../../../build/msw/config.wat
    </add-flags>


    <!-- Personal customizations (not in CVS): -->
    <include file="Bakefiles.local.bkgen" ignore_missing="1"/>

</bakefile-gen>