blob: 03d7269d7348b94fb02f95c99a2d442be8b1d00e [file] [log] [blame]
# Copyright (C) 2010, 2011, 2012 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)/PluginProcess \
$(WebKit2)/PluginProcess/mac \
$(WebKit2)/Shared/Plugins \
$(WebKit2)/Shared \
$(WebKit2)/SharedWorkerProcess \
$(WebKit2)/WebProcess/ApplicationCache \
$(WebKit2)/WebProcess/Authentication \
$(WebKit2)/WebProcess/Cookies \
$(WebKit2)/WebProcess/FullScreen \
$(WebKit2)/WebProcess/Geolocation \
$(WebKit2)/WebProcess/IconDatabase \
$(WebKit2)/WebProcess/KeyValueStorage \
$(WebKit2)/WebProcess/MediaCache \
$(WebKit2)/WebProcess/Network \
$(WebKit2)/WebProcess/Notifications \
$(WebKit2)/WebProcess/Plugins \
$(WebKit2)/WebProcess/ResourceCache \
$(WebKit2)/WebProcess/WebCoreSupport \
$(WebKit2)/WebProcess/WebPage \
$(WebKit2)/WebProcess \
$(WebKit2)/UIProcess \
$(WebKit2)/UIProcess/Downloads \
$(WebKit2)/UIProcess/Network \
$(WebKit2)/UIProcess/Notifications \
$(WebKit2)/UIProcess/Plugins \
$(WebKit2)/UIProcess/SharedWorkers \
#
MESSAGE_RECEIVERS = \
AuthenticationManager \
DrawingArea \
DrawingAreaProxy \
DownloadProxy \
EventDispatcher \
NetworkProcess \
NetworkProcessConnection \
NetworkProcessProxy \
NPObjectMessageReceiver \
PluginControllerProxy \
PluginProcess \
PluginProcessConnection \
PluginProcessProxy \
PluginProxy \
SharedWorkerProcess \
SharedWorkerProcessProxy \
WebApplicationCacheManager \
WebApplicationCacheManagerProxy \
WebCookieManager \
WebCookieManagerProxy \
WebConnection \
NetworkConnectionToWebProcess \
WebContext \
WebDatabaseManager \
WebDatabaseManagerProxy \
WebFullScreenManager \
WebFullScreenManagerProxy \
WebGeolocationManager \
WebGeolocationManagerProxy \
WebIconDatabase \
WebIconDatabaseProxy \
WebInspector \
WebInspectorProxy \
WebKeyValueStorageManager \
WebKeyValueStorageManagerProxy \
WebMediaCacheManager \
WebMediaCacheManagerProxy \
WebNotificationManagerProxy \
WebNotificationManager \
WebPage \
WebPageGroupProxy \
WebPageProxy \
WebProcess \
WebProcessConnection \
WebProcessProxy \
WebResourceCacheManager \
WebResourceCacheManagerProxy \
#
SCRIPTS = \
$(WebKit2)/Scripts/generate-message-receiver.py \
$(WebKit2)/Scripts/generate-messages-header.py \
$(WebKit2)/Scripts/webkit2/__init__.py \
$(WebKit2)/Scripts/webkit2/messages.py \
$(WebKit2)/Scripts/webkit2/model.py \
$(WebKit2)/Scripts/webkit2/parser.py \
#
.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 $< > $@
# Mac-specific rules
ifeq ($(OS),MACOS)
FRAMEWORK_FLAGS = $(shell echo $(BUILT_PRODUCTS_DIR) $(FRAMEWORK_SEARCH_PATHS) | perl -e 'print "-F " . join(" -F ", split(" ", <>));')
HEADER_FLAGS = $(shell echo $(BUILT_PRODUCTS_DIR) $(HEADER_SEARCH_PATHS) | perl -e 'print "-I" . join(" -I", split(" ", <>));')
TEXT_PREPROCESSOR_FLAGS=-E -P -x c -traditional -w
ifneq ($(SDKROOT),)
SDK_FLAGS=-isysroot $(SDKROOT)
endif
SANDBOX_PROFILES = \
com.apple.WebProcess.sb \
com.apple.WebKit.PluginProcess.sb
all: $(SANDBOX_PROFILES)
%.sb : %.sb.in
@echo Pre-processing $* sandbox profile...
$(CC) $(SDK_FLAGS) $(TEXT_PREPROCESSOR_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" $< > $@
endif # MACOS
# ------------------------
# Windows-specific rules
ifeq ($(OS),Windows_NT)
all : HeaderDetection.h
HeaderDetection.h : DerivedSources.make
if [ -f "$(WEBKITLIBRARIESDIR)/include/WebKitQuartzCoreAdditions/WebKitQuartzCoreAdditionsBase.h" ] && [ ! -f "$(WEBKITLIBRARIESDIR)/include/cairo/cairo.h" ]; then echo "#define HAVE_WKQCA 1" > $@; else echo > $@; fi
if [ -f "$(WEBKITLIBRARIESDIR)/include/AVFoundationCF/AVCFBase.h" ]; then echo "#define HAVE_AVCF 1" >> $@; else echo >> $@; fi
endif # Windows_NT