1# Copyright (C) 2010, 2011, 2012, 2013 Apple Inc. All rights reserved. 2# 3# Redistribution and use in source and binary forms, with or without 4# modification, are permitted provided that the following conditions 5# are met: 6# 1. Redistributions of source code must retain the above copyright 7# notice, this list of conditions and the following disclaimer. 8# 2. Redistributions in binary form must reproduce the above copyright 9# notice, this list of conditions and the following disclaimer in the 10# documentation and/or other materials provided with the distribution. 11# 12# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND 13# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 14# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 15# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR 16# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 17# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 18# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 19# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 20# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 21# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 22 23VPATH = \ 24 $(WebKit2) \ 25 $(WebKit2)/DatabaseProcess \ 26 $(WebKit2)/DatabaseProcess/IndexedDB \ 27 $(WebKit2)/DatabaseProcess/mac \ 28 $(WebKit2)/NetworkProcess \ 29 $(WebKit2)/NetworkProcess/mac \ 30 $(WebKit2)/PluginProcess \ 31 $(WebKit2)/PluginProcess/mac \ 32 $(WebKit2)/Shared/Plugins \ 33 $(WebKit2)/Shared \ 34 $(WebKit2)/Shared/API/Cocoa \ 35 $(WebKit2)/Shared/Authentication \ 36 $(WebKit2)/Shared/Network/CustomProtocols \ 37 $(WebKit2)/Shared/mac \ 38 $(WebKit2)/WebProcess/ApplicationCache \ 39 $(WebKit2)/WebProcess/Cookies \ 40 $(WebKit2)/WebProcess/Databases/IndexedDB \ 41 $(WebKit2)/WebProcess/FullScreen \ 42 $(WebKit2)/WebProcess/Geolocation \ 43 $(WebKit2)/WebProcess/IconDatabase \ 44 $(WebKit2)/WebProcess/MediaCache \ 45 $(WebKit2)/WebProcess/Network \ 46 $(WebKit2)/WebProcess/Notifications \ 47 $(WebKit2)/WebProcess/OriginData \ 48 $(WebKit2)/WebProcess/Plugins \ 49 $(WebKit2)/WebProcess/ResourceCache \ 50 $(WebKit2)/WebProcess/Scrolling \ 51 $(WebKit2)/WebProcess/Storage \ 52 $(WebKit2)/WebProcess/UserContent \ 53 $(WebKit2)/WebProcess/WebCoreSupport \ 54 $(WebKit2)/WebProcess/WebPage \ 55 $(WebKit2)/WebProcess/ios \ 56 $(WebKit2)/WebProcess \ 57 $(WebKit2)/UIProcess \ 58 $(WebKit2)/UIProcess/Databases \ 59 $(WebKit2)/UIProcess/Downloads \ 60 $(WebKit2)/UIProcess/Network \ 61 $(WebKit2)/UIProcess/Network/CustomProtocols \ 62 $(WebKit2)/UIProcess/Notifications \ 63 $(WebKit2)/UIProcess/Plugins \ 64 $(WebKit2)/UIProcess/Storage \ 65 $(WebKit2)/UIProcess/UserContent \ 66 $(WebKit2)/UIProcess/mac \ 67 $(WebKit2)/UIProcess/ios \ 68# 69 70MESSAGE_RECEIVERS = \ 71 AuthenticationManager \ 72 CustomProtocolManager \ 73 CustomProtocolManagerProxy \ 74 DatabaseProcess \ 75 DatabaseProcessIDBConnection \ 76 DatabaseProcessProxy \ 77 DatabaseToWebProcessConnection \ 78 DownloadProxy \ 79 DrawingArea \ 80 DrawingAreaProxy \ 81 EventDispatcher \ 82 NPObjectMessageReceiver \ 83 NetworkConnectionToWebProcess \ 84 NetworkProcess \ 85 NetworkProcessConnection \ 86 NetworkProcessProxy \ 87 NetworkResourceLoader \ 88 PluginControllerProxy \ 89 PluginProcess \ 90 PluginProcessConnection \ 91 PluginProcessConnectionManager \ 92 PluginProcessProxy \ 93 PluginProxy \ 94 RemoteLayerTreeDrawingAreaProxy \ 95 RemoteObjectRegistry \ 96 RemoteScrollingCoordinator \ 97 SecItemShim \ 98 SecItemShimProxy \ 99 SmartMagnificationController \ 100 StorageAreaMap \ 101 StorageManager \ 102 ViewGestureController \ 103 ViewGestureGeometryCollector \ 104 ViewUpdateDispatcher \ 105 VisitedLinkProvider \ 106 VisitedLinkTableController \ 107 WebApplicationCacheManager \ 108 WebApplicationCacheManagerProxy \ 109 WebConnection \ 110 WebContext \ 111 WebCookieManager \ 112 WebCookieManagerProxy \ 113 WebDatabaseManager \ 114 WebDatabaseManagerProxy \ 115 WebFullScreenManager \ 116 WebFullScreenManagerProxy \ 117 WebGeolocationManager \ 118 WebGeolocationManagerProxy \ 119 WebIDBServerConnection \ 120 WebIconDatabase \ 121 WebIconDatabaseProxy \ 122 WebInspector \ 123 WebInspectorProxy \ 124 WebMediaCacheManager \ 125 WebMediaCacheManagerProxy \ 126 WebNotificationManager \ 127 WebOriginDataManager \ 128 WebOriginDataManagerProxy \ 129 WebPage \ 130 WebPageGroupProxy \ 131 WebPageProxy \ 132 WebProcess \ 133 WebProcessConnection \ 134 WebProcessProxy \ 135 WebResourceCacheManager \ 136 WebResourceCacheManagerProxy \ 137 WebResourceLoader \ 138 WebUserContentController \ 139 WebUserContentControllerProxy \ 140 WebVideoFullscreenManager \ 141 WebVideoFullscreenManagerProxy \ 142# 143 144SCRIPTS = \ 145 $(WebKit2)/Scripts/generate-message-receiver.py \ 146 $(WebKit2)/Scripts/generate-messages-header.py \ 147 $(WebKit2)/Scripts/webkit2/__init__.py \ 148 $(WebKit2)/Scripts/webkit2/messages.py \ 149 $(WebKit2)/Scripts/webkit2/model.py \ 150 $(WebKit2)/Scripts/webkit2/parser.py \ 151# 152 153.PHONY : all 154 155all : \ 156 $(MESSAGE_RECEIVERS:%=%MessageReceiver.cpp) \ 157 $(MESSAGE_RECEIVERS:%=%Messages.h) \ 158# 159 160%MessageReceiver.cpp : %.messages.in $(SCRIPTS) 161 @echo Generating messages header for $*... 162 @python $(WebKit2)/Scripts/generate-message-receiver.py $< > $@ 163 164%Messages.h : %.messages.in $(SCRIPTS) 165 @echo Generating message receiver for $*... 166 @python $(WebKit2)/Scripts/generate-messages-header.py $< > $@ 167 168 169FRAMEWORK_FLAGS = $(shell echo $(BUILT_PRODUCTS_DIR) $(FRAMEWORK_SEARCH_PATHS) | perl -e 'print "-F " . join(" -F ", split(" ", <>));') 170HEADER_FLAGS = $(shell echo $(BUILT_PRODUCTS_DIR) $(HEADER_SEARCH_PATHS) | perl -e 'print "-I" . join(" -I", split(" ", <>));') 171 172# Some versions of clang incorrectly strip out // comments in c89 code. 173# Use -traditional as a workaround, but only when needed since that causes 174# other problems with later versions of clang. 175ifeq ($(shell echo '//x' | $(CC) -E -P -x c -std=c89 - | grep x),) 176TEXT_PREPROCESSOR_FLAGS=-E -P -x c -traditional -w 177else 178TEXT_PREPROCESSOR_FLAGS=-E -P -x c -std=c89 -w 179endif 180 181ifneq ($(SDKROOT),) 182 SDK_FLAGS=-isysroot $(SDKROOT) 183endif 184 185SANDBOX_PROFILES = \ 186 com.apple.WebProcess.sb \ 187 com.apple.WebKit.Databases.sb \ 188 com.apple.WebKit.NetworkProcess.sb 189 190all: $(SANDBOX_PROFILES) 191 192%.sb : %.sb.in 193 @echo Pre-processing $* sandbox profile... 194 $(CC) $(SDK_FLAGS) $(TEXT_PREPROCESSOR_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" $< > $@ 195 196