More work on UI side storage
[WebKit-https.git] / Source / WebKit2 / DerivedSources.make
1 # Copyright (C) 2010, 2011, 2012 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
23 VPATH = \
24     $(WebKit2) \
25     $(WebKit2)/NetworkProcess \
26     $(WebKit2)/NetworkProcess/mac \
27     $(WebKit2)/PluginProcess \
28     $(WebKit2)/PluginProcess/mac \
29     $(WebKit2)/Shared/Plugins \
30     $(WebKit2)/Shared \
31     $(WebKit2)/Shared/mac \
32     $(WebKit2)/Shared/Authentication \
33     $(WebKit2)/Shared/Network/CustomProtocols \
34     $(WebKit2)/SharedWorkerProcess \
35     $(WebKit2)/WebProcess/ApplicationCache \
36     $(WebKit2)/WebProcess/Cookies \
37     $(WebKit2)/WebProcess/FullScreen \
38     $(WebKit2)/WebProcess/Geolocation \
39     $(WebKit2)/WebProcess/IconDatabase \
40     $(WebKit2)/WebProcess/MediaCache \
41     $(WebKit2)/WebProcess/Network \
42     $(WebKit2)/WebProcess/Notifications \
43     $(WebKit2)/WebProcess/Plugins \
44     $(WebKit2)/WebProcess/ResourceCache \
45     $(WebKit2)/WebProcess/Storage \
46     $(WebKit2)/WebProcess/WebCoreSupport \
47     $(WebKit2)/WebProcess/WebPage \
48     $(WebKit2)/WebProcess \
49     $(WebKit2)/UIProcess \
50     $(WebKit2)/UIProcess/Downloads \
51     $(WebKit2)/UIProcess/Network \
52     $(WebKit2)/UIProcess/Network/CustomProtocols \
53     $(WebKit2)/UIProcess/Notifications \
54     $(WebKit2)/UIProcess/Plugins \
55     $(WebKit2)/UIProcess/SharedWorkers \
56     $(WebKit2)/UIProcess/Storage \
57     $(WebKit2)/UIProcess/mac \
58 #
59
60 MESSAGE_RECEIVERS = \
61     AuthenticationManager \
62     CustomProtocolManager \
63     CustomProtocolManagerProxy \
64     DrawingArea \
65     DrawingAreaProxy \
66     DownloadProxy \
67     EventDispatcher \
68     NetworkProcess \
69     NetworkProcessConnection \
70     NetworkProcessProxy \
71     NPObjectMessageReceiver \
72     PluginControllerProxy \
73     PluginProcess \
74     PluginProcessConnection \
75     PluginProcessProxy \
76     PluginProxy \
77     SharedWorkerProcess \
78     SharedWorkerProcessProxy \
79     StorageManager \
80     WebApplicationCacheManager \
81     WebApplicationCacheManagerProxy \
82     WebCookieManager \
83     WebCookieManagerProxy \
84     WebConnection \
85     NetworkConnectionToWebProcess \
86     RemoteLayerTreeHost \
87     SecItemShim \
88     SecItemShimProxy \
89     WebContext \
90     WebDatabaseManager \
91     WebDatabaseManagerProxy \
92     WebFullScreenManager \
93     WebFullScreenManagerProxy \
94     WebGeolocationManager \
95     WebGeolocationManagerProxy \
96     WebIconDatabase \
97     WebIconDatabaseProxy \
98     WebInspector \
99     WebInspectorProxy \
100     WebKeyValueStorageManager \
101     WebKeyValueStorageManagerProxy \
102     WebMediaCacheManager \
103     WebMediaCacheManagerProxy \
104     WebNotificationManagerProxy \
105     WebNotificationManager \
106     WebPage \
107     WebPageGroupProxy \
108     WebPageProxy \
109     WebProcess \
110     WebProcessConnection \
111     WebProcessProxy \
112     WebResourceCacheManager \
113     WebResourceCacheManagerProxy \
114     WebResourceLoader \
115 #
116
117 SCRIPTS = \
118     $(WebKit2)/Scripts/generate-message-receiver.py \
119     $(WebKit2)/Scripts/generate-messages-header.py \
120     $(WebKit2)/Scripts/webkit2/__init__.py \
121     $(WebKit2)/Scripts/webkit2/messages.py \
122     $(WebKit2)/Scripts/webkit2/model.py \
123     $(WebKit2)/Scripts/webkit2/parser.py \
124 #
125
126 .PHONY : all
127
128 all : \
129     $(MESSAGE_RECEIVERS:%=%MessageReceiver.cpp) \
130     $(MESSAGE_RECEIVERS:%=%Messages.h) \
131 #
132
133 %MessageReceiver.cpp : %.messages.in $(SCRIPTS)
134         @echo Generating messages header for $*...
135         @python $(WebKit2)/Scripts/generate-message-receiver.py $< > $@
136
137 %Messages.h : %.messages.in $(SCRIPTS)
138         @echo Generating message receiver for $*...
139         @python $(WebKit2)/Scripts/generate-messages-header.py $< > $@
140
141 # Mac-specific rules
142
143 ifeq ($(OS),MACOS)
144
145 FRAMEWORK_FLAGS = $(shell echo $(BUILT_PRODUCTS_DIR) $(FRAMEWORK_SEARCH_PATHS) | perl -e 'print "-F " . join(" -F ", split(" ", <>));')
146 HEADER_FLAGS = $(shell echo $(BUILT_PRODUCTS_DIR) $(HEADER_SEARCH_PATHS) | perl -e 'print "-I" . join(" -I", split(" ", <>));')
147 TEXT_PREPROCESSOR_FLAGS=-E -P -x c -traditional -w
148
149 ifneq ($(SDKROOT),)
150         SDK_FLAGS=-isysroot $(SDKROOT)
151 endif
152
153 SANDBOX_PROFILES = \
154         com.apple.WebProcess.sb \
155         com.apple.WebKit.NetworkProcess.sb
156
157 all: $(SANDBOX_PROFILES)
158
159 %.sb : %.sb.in
160         @echo Pre-processing $* sandbox profile...
161         $(CC) $(SDK_FLAGS) $(TEXT_PREPROCESSOR_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" $< > $@
162
163 endif # MACOS
164
165 # ------------------------
166
167 # Windows-specific rules
168
169 ifeq ($(OS),Windows_NT)
170
171 all : HeaderDetection.h
172
173 HeaderDetection.h : DerivedSources.make
174         if [ -f "$(WEBKITLIBRARIESDIR)/include/WebKitQuartzCoreAdditions/WebKitQuartzCoreAdditionsBase.h" ] && [ ! -f "$(WEBKITLIBRARIESDIR)/include/cairo/cairo.h" ]; then echo "#define HAVE_WKQCA 1" > $@; else echo > $@; fi
175         if [ -f "$(WEBKITLIBRARIESDIR)/include/AVFoundationCF/AVCFBase.h" ]; then echo "#define HAVE_AVCF 1" >> $@; else echo >> $@; fi
176
177 endif # Windows_NT