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