| # Copyright (C) 2010-2017 Apple Inc. All rights reserved. |
| # |
| # 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. |
| # |
| # THIS SOFTWARE IS PROVIDED BY APPLE INC. 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 INC. 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. |
| |
| VPATH = \ |
| $(WebKit2) \ |
| $(WebKit2)/NetworkProcess \ |
| $(WebKit2)/NetworkProcess/Cookies \ |
| $(WebKit2)/NetworkProcess/cache \ |
| $(WebKit2)/NetworkProcess/CustomProtocols \ |
| $(WebKit2)/NetworkProcess/mac \ |
| $(WebKit2)/NetworkProcess/webrtc \ |
| $(WebKit2)/PluginProcess \ |
| $(WebKit2)/PluginProcess/mac \ |
| $(WebKit2)/Shared/Plugins \ |
| $(WebKit2)/Shared \ |
| $(WebKit2)/Shared/API/Cocoa \ |
| $(WebKit2)/Shared/Authentication \ |
| $(WebKit2)/Shared/mac \ |
| $(WebKit2)/StorageProcess \ |
| $(WebKit2)/StorageProcess/IndexedDB \ |
| $(WebKit2)/StorageProcess/ServiceWorker \ |
| $(WebKit2)/StorageProcess/mac \ |
| $(WebKit2)/WebProcess/ApplePay \ |
| $(WebKit2)/WebProcess/ApplicationCache \ |
| $(WebKit2)/WebProcess/Automation \ |
| $(WebKit2)/WebProcess/Cache \ |
| $(WebKit2)/WebProcess/CredentialManagement \ |
| $(WebKit2)/WebProcess/Databases/IndexedDB \ |
| $(WebKit2)/WebProcess/FullScreen \ |
| $(WebKit2)/WebProcess/Geolocation \ |
| $(WebKit2)/WebProcess/IconDatabase \ |
| $(WebKit2)/WebProcess/MediaCache \ |
| $(WebKit2)/WebProcess/MediaStream \ |
| $(WebKit2)/WebProcess/Network \ |
| $(WebKit2)/WebProcess/Network/webrtc \ |
| $(WebKit2)/WebProcess/Notifications \ |
| $(WebKit2)/WebProcess/OriginData \ |
| $(WebKit2)/WebProcess/Plugins \ |
| $(WebKit2)/WebProcess/ResourceCache \ |
| $(WebKit2)/WebProcess/Storage \ |
| $(WebKit2)/WebProcess/UserContent \ |
| $(WebKit2)/WebProcess/WebCoreSupport \ |
| $(WebKit2)/WebProcess/WebPage \ |
| $(WebKit2)/WebProcess/WebPage/RemoteLayerTree \ |
| $(WebKit2)/WebProcess/WebStorage \ |
| $(WebKit2)/WebProcess/cocoa \ |
| $(WebKit2)/WebProcess/ios \ |
| $(WebKit2)/WebProcess \ |
| $(WebKit2)/UIProcess \ |
| $(WebKit2)/UIProcess/ApplePay \ |
| $(WebKit2)/UIProcess/Automation \ |
| $(WebKit2)/UIProcess/Cocoa \ |
| $(WebKit2)/UIProcess/CredentialManagement \ |
| $(WebKit2)/UIProcess/Databases \ |
| $(WebKit2)/UIProcess/Downloads \ |
| $(WebKit2)/UIProcess/MediaStream \ |
| $(WebKit2)/UIProcess/Network \ |
| $(WebKit2)/UIProcess/Network/CustomProtocols \ |
| $(WebKit2)/UIProcess/Notifications \ |
| $(WebKit2)/UIProcess/Plugins \ |
| $(WebKit2)/UIProcess/RemoteLayerTree \ |
| $(WebKit2)/UIProcess/Storage \ |
| $(WebKit2)/UIProcess/UserContent \ |
| $(WebKit2)/UIProcess/WebStorage \ |
| $(WebKit2)/UIProcess/mac \ |
| $(WebKit2)/UIProcess/ios \ |
| $(WEBKITADDITIONS_HEADER_SEARCH_PATHS) \ |
| # |
| |
| PYTHON = python |
| PERL = perl |
| |
| ifeq ($(OS),Windows_NT) |
| DELETE = cmd //C del |
| else |
| DELETE = rm -f |
| endif |
| |
| MESSAGE_RECEIVERS = \ |
| AuthenticationManager \ |
| CacheStorageEngineConnection \ |
| ChildProcess \ |
| DownloadProxy \ |
| DrawingArea \ |
| DrawingAreaProxy \ |
| EventDispatcher \ |
| LegacyCustomProtocolManager \ |
| LegacyCustomProtocolManagerProxy \ |
| NPObjectMessageReceiver \ |
| NetworkConnectionToWebProcess \ |
| NetworkMDNSRegister\ |
| NetworkProcess \ |
| NetworkProcessConnection \ |
| NetworkProcessProxy \ |
| NetworkRTCMonitor \ |
| NetworkRTCProvider \ |
| NetworkRTCSocket \ |
| NetworkResourceLoader \ |
| NetworkSocketStream \ |
| NetworkContentRuleListManager \ |
| PluginControllerProxy \ |
| PluginProcess \ |
| PluginProcessConnection \ |
| PluginProcessConnectionManager \ |
| PluginProcessProxy \ |
| PluginProxy \ |
| RemoteLayerTreeDrawingAreaProxy \ |
| RemoteObjectRegistry \ |
| RemoteScrollingCoordinator \ |
| RemoteWebInspectorProxy \ |
| RemoteWebInspectorUI \ |
| SecItemShimProxy \ |
| ServiceWorkerClientFetch \ |
| SmartMagnificationController \ |
| StorageAreaMap \ |
| StorageManager \ |
| StorageProcess \ |
| StorageProcessProxy \ |
| StorageToWebProcessConnection \ |
| UserMediaCaptureManager \ |
| UserMediaCaptureManagerProxy \ |
| ViewGestureController \ |
| ViewGestureGeometryCollector \ |
| ViewUpdateDispatcher \ |
| VisitedLinkStore \ |
| VisitedLinkTableController \ |
| WebAutomationSession \ |
| WebAutomationSessionProxy \ |
| WebCacheStorageConnection \ |
| WebConnection \ |
| WebCookieManager \ |
| WebCookieManagerProxy \ |
| WebCredentialsMessenger \ |
| WebCredentialsMessengerProxy \ |
| WebFullScreenManager \ |
| WebFullScreenManagerProxy \ |
| WebGeolocationManager \ |
| WebGeolocationManagerProxy \ |
| WebIDBConnectionToClient \ |
| WebIDBConnectionToServer \ |
| WebInspector \ |
| WebInspectorInterruptDispatcher \ |
| WebInspectorProxy \ |
| WebInspectorUI \ |
| WebMDNSRegister\ |
| WebNotificationManager \ |
| WebPage \ |
| WebPageProxy \ |
| WebPasteboardProxy \ |
| WebPaymentCoordinator \ |
| WebPaymentCoordinatorProxy \ |
| WebSWClientConnection \ |
| WebSWContextManagerConnection \ |
| WebSWServerConnection \ |
| WebSWServerToContextConnection \ |
| PlaybackSessionManager \ |
| PlaybackSessionManagerProxy \ |
| WebProcess \ |
| WebProcessConnection \ |
| WebProcessPool \ |
| WebProcessProxy \ |
| WebRTCMonitor \ |
| WebRTCResolver \ |
| WebRTCSocket \ |
| WebResourceLoader \ |
| WebResourceLoadStatisticsStore \ |
| WebSocketStream \ |
| WebUserContentController \ |
| WebUserContentControllerProxy \ |
| VideoFullscreenManager \ |
| VideoFullscreenManagerProxy \ |
| # |
| |
| SCRIPTS = \ |
| $(WebKit2)/Scripts/generate-message-receiver.py \ |
| $(WebKit2)/Scripts/generate-messages-header.py \ |
| $(WebKit2)/Scripts/webkit/__init__.py \ |
| $(WebKit2)/Scripts/webkit/messages.py \ |
| $(WebKit2)/Scripts/webkit/model.py \ |
| $(WebKit2)/Scripts/webkit/parser.py \ |
| # |
| |
| FRAMEWORK_FLAGS = $(shell echo $(BUILT_PRODUCTS_DIR) $(FRAMEWORK_SEARCH_PATHS) $(SYSTEM_FRAMEWORK_SEARCH_PATHS) | perl -e 'print "-F " . join(" -F ", split(" ", <>));') |
| HEADER_FLAGS = $(shell echo $(BUILT_PRODUCTS_DIR) $(HEADER_SEARCH_PATHS) $(SYSTEM_HEADER_SEARCH_PATHS) | perl -e 'print "-I" . join(" -I", split(" ", <>));') |
| |
| -include WebKitDerivedSourcesAdditions.make |
| |
| .PHONY : all |
| |
| all : \ |
| $(MESSAGE_RECEIVERS:%=%MessageReceiver.cpp) \ |
| $(MESSAGE_RECEIVERS:%=%Messages.h) \ |
| # |
| |
| %MessageReceiver.cpp : %.messages.in $(SCRIPTS) |
| @echo Generating messages header for $*... |
| @python $(WebKit2)/Scripts/generate-message-receiver.py $< > $@ |
| |
| %Messages.h : %.messages.in $(SCRIPTS) |
| @echo Generating message receiver for $*... |
| @python $(WebKit2)/Scripts/generate-messages-header.py $< > $@ |
| |
| TEXT_PREPROCESSOR_FLAGS=-E -P -w |
| |
| ifneq ($(SDKROOT),) |
| SDK_FLAGS=-isysroot $(SDKROOT) |
| endif |
| |
| ifeq ($(USE_LLVM_TARGET_TRIPLES_FOR_CLANG),YES) |
| TARGET_TRIPLE_FLAGS=-target $(CURRENT_ARCH)-$(LLVM_TARGET_TRIPLE_VENDOR)-$(LLVM_TARGET_TRIPLE_OS_VERSION)$(LLVM_TARGET_TRIPLE_SUFFIX) |
| endif |
| |
| SANDBOX_PROFILES = \ |
| com.apple.WebProcess.sb \ |
| com.apple.WebKit.Storage.sb \ |
| com.apple.WebKit.plugin-common.sb \ |
| com.apple.WebKit.NetworkProcess.sb |
| |
| all: $(SANDBOX_PROFILES) |
| |
| %.sb : %.sb.in |
| @echo Pre-processing $* sandbox profile... |
| grep -o '^[^;]*' $< | $(CC) $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(TEXT_PREPROCESSOR_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" - > $@ |
| |
| AUTOMATION_PROTOCOL_GENERATOR_SCRIPTS = \ |
| $(JavaScriptCore_SCRIPTS_DIR)/cpp_generator_templates.py \ |
| $(JavaScriptCore_SCRIPTS_DIR)/cpp_generator.py \ |
| $(JavaScriptCore_SCRIPTS_DIR)/generate_cpp_backend_dispatcher_header.py \ |
| $(JavaScriptCore_SCRIPTS_DIR)/generate_cpp_backend_dispatcher_implementation.py \ |
| $(JavaScriptCore_SCRIPTS_DIR)/generate_cpp_frontend_dispatcher_header.py \ |
| $(JavaScriptCore_SCRIPTS_DIR)/generate_cpp_frontend_dispatcher_implementation.py \ |
| $(JavaScriptCore_SCRIPTS_DIR)/generate_cpp_protocol_types_header.py \ |
| $(JavaScriptCore_SCRIPTS_DIR)/generate_cpp_protocol_types_implementation.py \ |
| $(JavaScriptCore_SCRIPTS_DIR)/generator_templates.py \ |
| $(JavaScriptCore_SCRIPTS_DIR)/generator.py \ |
| $(JavaScriptCore_SCRIPTS_DIR)/models.py \ |
| $(JavaScriptCore_SCRIPTS_DIR)/generate-inspector-protocol-bindings.py \ |
| # |
| |
| AUTOMATION_PROTOCOL_INPUT_FILES = \ |
| $(WebKit2)/UIProcess/Automation/Automation.json \ |
| # |
| |
| AUTOMATION_PROTOCOL_OUTPUT_FILES = \ |
| AutomationBackendDispatchers.h \ |
| AutomationBackendDispatchers.cpp \ |
| AutomationFrontendDispatchers.h \ |
| AutomationFrontendDispatchers.cpp \ |
| # |
| |
| ifeq ($(OS),MACOS) |
| ifeq ($(shell $(CC) -std=gnu++14 -x c++ -E -P -dM $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" /dev/null | grep ' WTF_PLATFORM_IOS ' | cut -d' ' -f3), 1) |
| AUTOMATION_BACKEND_PLATFORM_ARGUMENTS = --platform iOS |
| else |
| AUTOMATION_BACKEND_PLATFORM_ARGUMENTS = --platform macOS |
| endif |
| endif # MACOS |
| |
| # JSON-RPC Frontend Dispatchers, Backend Dispatchers, Type Builders |
| $(firstword $(AUTOMATION_PROTOCOL_OUTPUT_FILES)) : $(AUTOMATION_PROTOCOL_INPUT_FILES) $(AUTOMATION_PROTOCOL_GENERATOR_SCRIPTS) |
| $(PYTHON) $(JavaScriptCore_SCRIPTS_DIR)/generate-inspector-protocol-bindings.py --framework WebKit $(AUTOMATION_BACKEND_PLATFORM_ARGUMENTS) --backend --outputDir . $(AUTOMATION_PROTOCOL_INPUT_FILES) |
| |
| all : $(firstword $(AUTOMATION_PROTOCOL_OUTPUT_FILES)) |
| |
| %ScriptSource.h : %.js $(JavaScriptCore_SCRIPTS_DIR)/jsmin.py $(JavaScriptCore_SCRIPTS_DIR)/xxd.pl |
| echo "//# sourceURL=__InjectedScript_$(notdir $<)" > $(basename $(notdir $<)).min.js |
| $(PYTHON) $(JavaScriptCore_SCRIPTS_DIR)/jsmin.py < $< >> $(basename $(notdir $<)).min.js |
| $(PERL) $(JavaScriptCore_SCRIPTS_DIR)/xxd.pl $(basename $(notdir $<))ScriptSource $(basename $(notdir $<)).min.js $@ |
| $(DELETE) $(basename $(notdir $<)).min.js |
| |
| all : WebAutomationSessionProxyScriptSource.h |
| |
| # WebPreferences generation |
| |
| WEB_PREFERENCES_TEMPLATES = \ |
| $(WebKit2)/Scripts/PreferencesTemplates/WebPageUpdatePreferences.cpp.erb \ |
| $(WebKit2)/Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb \ |
| $(WebKit2)/Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb \ |
| $(WebKit2)/Scripts/PreferencesTemplates/WebPreferencesKeys.h.erb \ |
| $(WebKit2)/Scripts/PreferencesTemplates/WebPreferencesKeys.cpp.erb \ |
| $(WebKit2)/Scripts/PreferencesTemplates/WebPreferencesStoreDefaultsMap.cpp.erb \ |
| |
| # |
| |
| all : WebPageUpdatePreferences.cpp WebPreferencesDefinitions.h WebPreferencesExperimentalFeatures.cpp WebPreferencesKeys.h WebPreferencesKeys.cpp WebPreferencesStoreDefaultsMap.cpp |
| |
| WebPageUpdatePreferences%cpp WebPreferencesDefinitions%h WebPreferencesExperimentalFeatures%cpp WebPreferencesKeys%h WebPreferencesKeys%cpp WebPreferencesStoreDefaultsMap%cpp : $(WebKit2)/Scripts/GeneratePreferences.rb $(WEB_PREFERENCES_TEMPLATES) $(WebKit2)/Shared/WebPreferences.yaml |
| $(RUBY) $< --input $(WebKit2)/Shared/WebPreferences.yaml |
| |