<?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)/bridge/wx</include>
        <include>$(SRCDIR)/page/wx</include>
        <include>$(WK_ROOT)/libpng</include>
        <include>$(WK_ROOT)/libjpeg</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/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/ThreadingWx.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/SharedTimerWx.cpp
            </if>
            <if cond="WX_PORT=='mac'">
                platform/wx/wxcode/mac/carbon/fontprops.cpp
                platform/wx/SharedTimerWx.cpp
            </if>
            <if cond="WX_PORT=='msw'">
                platform/wx/wxcode/win/fontprops.cpp
                <!-- grab the windows port's SharedTimer implementation -->
                platform/win/SharedTimerWin.cpp
                bridge/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>

