<?xml version="1.0" ?>
<!-- 
Copyright (C) 2007 Kevin Ollivier <kevino@theolliviers.com>

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1.  Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer. 
2.  Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution. 
3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
    its contributors may be used to endorse or promote products derived
    from this software without specific prior written permission. 

THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

wxWebCore port Bakefile project file.
-->



<makefile>
    <include file="webcore-base.bkl"/>

    <template id="webcore-wx" template="wxwk_build_settings,webcore_base,curl,gtk,pthreads">
        <pic>on</pic>
        <threading>multi</threading>
        
        <include>$(SRCDIR)/platform/graphics/wx</include>
        <include>$(SRCDIR)/platform/wx</include>
        <include>$(SRCDIR)/platform/wx/wxcode</include>
        <include>$(SRCDIR)/page/wx</include>
        
        <sources>
            editing/wx/EditorWx.cpp

            page/wx/DragControllerWx.cpp
            page/wx/EventHandlerWx.cpp
           
            platform/graphics/wx/AffineTransformWx.cpp
            platform/graphics/wx/ColorWx.cpp
            platform/graphics/wx/FloatRectWx.cpp
            platform/graphics/wx/GraphicsContextWx.cpp
            platform/graphics/wx/ImageBufferWx.cpp
            platform/graphics/wx/ImageSourceWx.cpp
            platform/graphics/wx/ImageWx.cpp
            platform/graphics/wx/IntPointWx.cpp
            platform/graphics/wx/IntRectWx.cpp
            platform/graphics/wx/PathWx.cpp
            platform/graphics/wx/PenWx.cpp
            
            platform/wx/TemporaryLinkStubs.cpp
            platform/wx/ClipboardWx.cpp
            platform/wx/CursorWx.cpp
            platform/wx/DragDataWx.cpp
            platform/wx/DragImageWx.cpp
            platform/wx/FileSystemWx.cpp
            platform/graphics/wx/FontCacheWx.cpp
            platform/graphics/wx/FontPlatformDataWx.cpp
            platform/graphics/wx/FontWx.cpp             
            platform/graphics/wx/GlyphMapWx.cpp
            platform/graphics/wx/SimpleFontDataWx.cpp
            platform/wx/KeyboardEventWx.cpp
            platform/wx/LocalizedStringsWx.cpp
            platform/wx/LoggingWx.cpp
            platform/wx/MimeTypeRegistryWx.cpp
            platform/wx/MainThreadWx.cpp
            platform/wx/MouseEventWx.cpp
            platform/wx/MouseWheelEventWx.cpp
            platform/wx/PasteboardWx.cpp
            platform/wx/RenderThemeWx.cpp
            platform/wx/ScreenWx.cpp
            platform/wx/ScrollViewWx.cpp
            platform/wx/SoundWx.cpp
            platform/text/wx/StringWx.cpp
            platform/wx/SystemTimeWx.cpp
            platform/wx/WidgetWx.cpp
           
            <!-- files from other ports we currently rely on -->
            platform/network/curl/ResourceHandleCurl.cpp
            platform/network/curl/ResourceHandleManager.cpp
                      
        </sources>
        
        <!-- platform-dependent source files -->
        <set var="EXT_SOURCES">
            <if cond="WX_PORT=='gtk2'">
                platform/wx/wxcode/gtk/fontprops.cpp
                platform/wx/wxcode/gtk/non-kerned-drawing.cpp
                platform/wx/SharedTimerWx.cpp
            </if>
            <if cond="WX_PORT=='mac'">
                platform/wx/wxcode/mac/carbon/fontprops.cpp
                platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp
                platform/wx/SharedTimerWx.cpp
            </if>
            <if cond="WX_PORT=='msw'">
                platform/wx/wxcode/win/fontprops.cpp
                platform/wx/wxcode/win/non-kerned-drawing.cpp
                <!-- grab the windows port's SharedTimer implementation -->
                platform/win/SharedTimerWin.cpp
                page/win/PageWin.cpp
            </if>
        </set>
        
        <sources>
            $(EXT_SOURCES)
        </sources>

    </template>

    <lib id="wx-webcore-static" template="webcore-wx,wx-lib">
        <libname>webcore-wx</libname>
        <dirname>$(WKOUTPUTDIR)</dirname>
        <if cond="PLATFORM_WIN32=='1'">
            <define>WXUSINGDLL=1</define>
    </if>
    </lib>

</makefile>

