|
1 # Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. |
|
2 # Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> |
|
3 # Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> |
|
4 # |
|
5 # Redistribution and use in source and binary forms, with or without |
|
6 # modification, are permitted provided that the following conditions |
|
7 # are met: |
|
8 # |
|
9 # 1. Redistributions of source code must retain the above copyright |
|
10 # notice, this list of conditions and the following disclaimer. |
|
11 # 2. Redistributions in binary form must reproduce the above copyright |
|
12 # notice, this list of conditions and the following disclaimer in the |
|
13 # documentation and/or other materials provided with the distribution. |
|
14 # 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of |
|
15 # its contributors may be used to endorse or promote products derived |
|
16 # from this software without specific prior written permission. |
|
17 # |
|
18 # THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY |
|
19 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
|
20 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|
21 # DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY |
|
22 # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|
23 # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
24 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|
25 # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
|
27 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
28 |
|
29 VPATH = \ |
|
30 $(WebCore) \ |
|
31 $(WebCore)/bindings/js \ |
|
32 $(WebCore)/bindings/objc \ |
|
33 $(WebCore)/css \ |
|
34 $(WebCore)/dom \ |
|
35 $(WebCore)/html \ |
|
36 $(WebCore)/html/canvas \ |
|
37 $(WebCore)/inspector \ |
|
38 $(WebCore)/loader/appcache \ |
|
39 $(WebCore)/notifications \ |
|
40 $(WebCore)/page \ |
|
41 $(WebCore)/plugins \ |
|
42 $(WebCore)/storage \ |
|
43 $(WebCore)/xml \ |
|
44 $(WebCore)/wml \ |
|
45 $(WebCore)/workers \ |
|
46 $(WebCore)/svg \ |
|
47 $(WebCore)/websockets \ |
|
48 # |
|
49 |
|
50 DOM_CLASSES = \ |
|
51 AbstractView \ |
|
52 AbstractWorker \ |
|
53 Attr \ |
|
54 BarInfo \ |
|
55 BeforeLoadEvent \ |
|
56 BeforeProcessEvent \ |
|
57 Blob \ |
|
58 BlobBuilder \ |
|
59 CDATASection \ |
|
60 CSSCharsetRule \ |
|
61 CSSFontFaceRule \ |
|
62 CSSImportRule \ |
|
63 CSSMediaRule \ |
|
64 CSSPageRule \ |
|
65 CSSPrimitiveValue \ |
|
66 CSSRule \ |
|
67 CSSRuleList \ |
|
68 CSSStyleDeclaration \ |
|
69 CSSStyleRule \ |
|
70 CSSStyleSheet \ |
|
71 CSSUnknownRule \ |
|
72 CSSValue \ |
|
73 CSSValueList \ |
|
74 CSSVariablesRule \ |
|
75 CSSVariablesDeclaration \ |
|
76 WebGLActiveInfo \ |
|
77 ArrayBufferView \ |
|
78 ArrayBuffer \ |
|
79 WebGLBuffer \ |
|
80 Int8Array \ |
|
81 WebGLContextAttributes \ |
|
82 Float32Array \ |
|
83 WebGLFramebuffer \ |
|
84 CanvasGradient \ |
|
85 Int32Array \ |
|
86 CanvasPattern \ |
|
87 WebGLProgram \ |
|
88 WebGLRenderbuffer \ |
|
89 CanvasRenderingContext \ |
|
90 CanvasRenderingContext2D \ |
|
91 WebGLRenderingContext \ |
|
92 WebGLShader \ |
|
93 Int16Array \ |
|
94 WebGLTexture \ |
|
95 WebGLUniformLocation \ |
|
96 Uint8Array \ |
|
97 Uint32Array \ |
|
98 Uint16Array \ |
|
99 CharacterData \ |
|
100 ClientRect \ |
|
101 ClientRectList \ |
|
102 Clipboard \ |
|
103 Comment \ |
|
104 CompositionEvent \ |
|
105 Console \ |
|
106 Coordinates \ |
|
107 Counter \ |
|
108 CustomEvent \ |
|
109 DataGridColumn \ |
|
110 DataGridColumnList \ |
|
111 DedicatedWorkerContext \ |
|
112 DOMApplicationCache \ |
|
113 DOMCoreException \ |
|
114 DOMFormData \ |
|
115 DOMImplementation \ |
|
116 DOMMimeType \ |
|
117 DOMMimeTypeArray \ |
|
118 DOMParser \ |
|
119 DOMPlugin \ |
|
120 DOMPluginArray \ |
|
121 DOMSelection \ |
|
122 DOMStringList \ |
|
123 DOMStringMap \ |
|
124 DOMWindow \ |
|
125 Database \ |
|
126 DatabaseCallback \ |
|
127 DatabaseSync \ |
|
128 DeviceOrientationEvent \ |
|
129 Document \ |
|
130 DocumentFragment \ |
|
131 DocumentType \ |
|
132 Element \ |
|
133 ElementTimeControl \ |
|
134 Entity \ |
|
135 EntityReference \ |
|
136 ErrorEvent \ |
|
137 Event \ |
|
138 EventException \ |
|
139 EventListener \ |
|
140 EventSource \ |
|
141 EventTarget \ |
|
142 File \ |
|
143 FileError \ |
|
144 FileList \ |
|
145 FileReader \ |
|
146 Geolocation \ |
|
147 Geoposition \ |
|
148 HTMLAllCollection \ |
|
149 HTMLAnchorElement \ |
|
150 HTMLAppletElement \ |
|
151 HTMLAreaElement \ |
|
152 HTMLAudioElement \ |
|
153 HTMLBRElement \ |
|
154 HTMLBaseElement \ |
|
155 HTMLBaseFontElement \ |
|
156 HTMLBlockquoteElement \ |
|
157 HTMLBodyElement \ |
|
158 HTMLButtonElement \ |
|
159 HTMLCanvasElement \ |
|
160 HTMLCollection \ |
|
161 HTMLDataGridElement \ |
|
162 HTMLDataGridCellElement \ |
|
163 HTMLDataGridColElement \ |
|
164 HTMLDataGridRowElement \ |
|
165 HTMLDataListElement \ |
|
166 HTMLDListElement \ |
|
167 HTMLDirectoryElement \ |
|
168 HTMLDivElement \ |
|
169 HTMLDocument \ |
|
170 HTMLElement \ |
|
171 HTMLEmbedElement \ |
|
172 HTMLFieldSetElement \ |
|
173 HTMLFontElement \ |
|
174 HTMLFormElement \ |
|
175 HTMLFrameElement \ |
|
176 HTMLFrameSetElement \ |
|
177 HTMLHRElement \ |
|
178 HTMLHeadElement \ |
|
179 HTMLHeadingElement \ |
|
180 HTMLHtmlElement \ |
|
181 HTMLIFrameElement \ |
|
182 HTMLImageElement \ |
|
183 HTMLInputElement \ |
|
184 HTMLIsIndexElement \ |
|
185 HTMLLIElement \ |
|
186 HTMLLabelElement \ |
|
187 HTMLLegendElement \ |
|
188 HTMLLinkElement \ |
|
189 HTMLMapElement \ |
|
190 HTMLMarqueeElement \ |
|
191 HTMLMediaElement \ |
|
192 HTMLMenuElement \ |
|
193 HTMLMetaElement \ |
|
194 HTMLMeterElement \ |
|
195 HTMLModElement \ |
|
196 HTMLOListElement \ |
|
197 HTMLObjectElement \ |
|
198 HTMLOptGroupElement \ |
|
199 HTMLOptionElement \ |
|
200 HTMLOptionsCollection \ |
|
201 HTMLParagraphElement \ |
|
202 HTMLParamElement \ |
|
203 HTMLPreElement \ |
|
204 HTMLProgressElement \ |
|
205 HTMLQuoteElement \ |
|
206 HTMLScriptElement \ |
|
207 HTMLSelectElement \ |
|
208 HTMLSourceElement \ |
|
209 HTMLStyleElement \ |
|
210 HTMLTableCaptionElement \ |
|
211 HTMLTableCellElement \ |
|
212 HTMLTableColElement \ |
|
213 HTMLTableElement \ |
|
214 HTMLTableRowElement \ |
|
215 HTMLTableSectionElement \ |
|
216 HTMLTextAreaElement \ |
|
217 HTMLTitleElement \ |
|
218 HTMLUListElement \ |
|
219 HTMLVideoElement \ |
|
220 History \ |
|
221 IDBAny \ |
|
222 IDBDatabaseError \ |
|
223 IDBDatabaseException \ |
|
224 IDBDatabaseRequest \ |
|
225 IDBErrorEvent \ |
|
226 IDBEvent \ |
|
227 IDBIndexRequest \ |
|
228 IDBKey \ |
|
229 IDBKeyRange \ |
|
230 IDBObjectStoreRequest \ |
|
231 IDBRequest \ |
|
232 IDBSuccessEvent \ |
|
233 ImageData \ |
|
234 IndexedDatabaseRequest \ |
|
235 InjectedScriptHost \ |
|
236 InspectorBackend \ |
|
237 InspectorFrontendHost \ |
|
238 KeyboardEvent \ |
|
239 Location \ |
|
240 MediaError \ |
|
241 MediaList \ |
|
242 MemoryInfo \ |
|
243 MessageChannel \ |
|
244 MessageEvent \ |
|
245 MessagePort \ |
|
246 MouseEvent \ |
|
247 MutationEvent \ |
|
248 NamedNodeMap \ |
|
249 Navigation \ |
|
250 Navigator \ |
|
251 Node \ |
|
252 NodeFilter \ |
|
253 NodeIterator \ |
|
254 NodeList \ |
|
255 Notation \ |
|
256 Notification \ |
|
257 NotificationCenter \ |
|
258 OverflowEvent \ |
|
259 PageTransitionEvent \ |
|
260 Performance \ |
|
261 PopStateEvent \ |
|
262 PositionError \ |
|
263 ProcessingInstruction \ |
|
264 ProgressEvent \ |
|
265 RGBColor \ |
|
266 Range \ |
|
267 RangeException \ |
|
268 Rect \ |
|
269 SharedWorker \ |
|
270 SharedWorkerContext \ |
|
271 ScriptProfile \ |
|
272 ScriptProfileNode \ |
|
273 SQLError \ |
|
274 SQLException \ |
|
275 SQLResultSet \ |
|
276 SQLResultSetRowList \ |
|
277 SQLStatementCallback \ |
|
278 SQLStatementErrorCallback \ |
|
279 SQLTransaction \ |
|
280 SQLTransactionCallback \ |
|
281 SQLTransactionErrorCallback \ |
|
282 SQLTransactionSync \ |
|
283 SQLTransactionSyncCallback \ |
|
284 Storage \ |
|
285 StorageEvent \ |
|
286 SVGAElement \ |
|
287 SVGAltGlyphElement \ |
|
288 SVGAngle \ |
|
289 SVGAnimateColorElement \ |
|
290 SVGAnimateElement \ |
|
291 SVGAnimateTransformElement \ |
|
292 SVGAnimatedAngle \ |
|
293 SVGAnimatedBoolean \ |
|
294 SVGAnimatedEnumeration \ |
|
295 SVGAnimatedInteger \ |
|
296 SVGAnimatedLength \ |
|
297 SVGAnimatedLengthList \ |
|
298 SVGAnimatedNumber \ |
|
299 SVGAnimatedNumberList \ |
|
300 SVGAnimatedPathData \ |
|
301 SVGAnimatedPoints \ |
|
302 SVGAnimatedPreserveAspectRatio \ |
|
303 SVGAnimatedRect \ |
|
304 SVGAnimatedString \ |
|
305 SVGAnimatedTransformList \ |
|
306 SVGAnimationElement \ |
|
307 SVGCircleElement \ |
|
308 SVGClipPathElement \ |
|
309 SVGColor \ |
|
310 SVGComponentTransferFunctionElement \ |
|
311 SVGCursorElement \ |
|
312 SVGDefsElement \ |
|
313 SVGDescElement \ |
|
314 SVGDocument \ |
|
315 SVGElement \ |
|
316 SVGElementInstance \ |
|
317 SVGElementInstanceList \ |
|
318 SVGEllipseElement \ |
|
319 SVGException \ |
|
320 SVGExternalResourcesRequired \ |
|
321 SVGFEBlendElement \ |
|
322 SVGFEColorMatrixElement \ |
|
323 SVGFEComponentTransferElement \ |
|
324 SVGFECompositeElement \ |
|
325 SVGFEConvolveMatrixElement \ |
|
326 SVGFEDiffuseLightingElement \ |
|
327 SVGFEDisplacementMapElement \ |
|
328 SVGFEDistantLightElement \ |
|
329 SVGFEFloodElement \ |
|
330 SVGFEFuncAElement \ |
|
331 SVGFEFuncBElement \ |
|
332 SVGFEFuncGElement \ |
|
333 SVGFEFuncRElement \ |
|
334 SVGFEGaussianBlurElement \ |
|
335 SVGFEImageElement \ |
|
336 SVGFEMergeElement \ |
|
337 SVGFEMergeNodeElement \ |
|
338 SVGFEMorphologyElement \ |
|
339 SVGFEOffsetElement \ |
|
340 SVGFEPointLightElement \ |
|
341 SVGFESpecularLightingElement \ |
|
342 SVGFESpotLightElement \ |
|
343 SVGFETileElement \ |
|
344 SVGFETurbulenceElement \ |
|
345 SVGFilterElement \ |
|
346 SVGFilterPrimitiveStandardAttributes \ |
|
347 SVGFitToViewBox \ |
|
348 SVGFontElement \ |
|
349 SVGFontFaceElement \ |
|
350 SVGFontFaceFormatElement \ |
|
351 SVGFontFaceNameElement \ |
|
352 SVGFontFaceSrcElement \ |
|
353 SVGFontFaceUriElement \ |
|
354 SVGForeignObjectElement \ |
|
355 SVGGElement \ |
|
356 SVGGlyphElement \ |
|
357 SVGGradientElement \ |
|
358 SVGHKernElement \ |
|
359 SVGImageElement \ |
|
360 SVGLangSpace \ |
|
361 SVGLength \ |
|
362 SVGLengthList \ |
|
363 SVGLineElement \ |
|
364 SVGLinearGradientElement \ |
|
365 SVGLocatable \ |
|
366 SVGMarkerElement \ |
|
367 SVGMaskElement \ |
|
368 SVGMatrix \ |
|
369 SVGMetadataElement \ |
|
370 SVGMissingGlyphElement \ |
|
371 SVGNumber \ |
|
372 SVGNumberList \ |
|
373 SVGPaint \ |
|
374 SVGPathElement \ |
|
375 SVGPathSeg \ |
|
376 SVGPathSegArcAbs \ |
|
377 SVGPathSegArcRel \ |
|
378 SVGPathSegClosePath \ |
|
379 SVGPathSegCurvetoCubicAbs \ |
|
380 SVGPathSegCurvetoCubicRel \ |
|
381 SVGPathSegCurvetoCubicSmoothAbs \ |
|
382 SVGPathSegCurvetoCubicSmoothRel \ |
|
383 SVGPathSegCurvetoQuadraticAbs \ |
|
384 SVGPathSegCurvetoQuadraticRel \ |
|
385 SVGPathSegCurvetoQuadraticSmoothAbs \ |
|
386 SVGPathSegCurvetoQuadraticSmoothRel \ |
|
387 SVGPathSegLinetoAbs \ |
|
388 SVGPathSegLinetoHorizontalAbs \ |
|
389 SVGPathSegLinetoHorizontalRel \ |
|
390 SVGPathSegLinetoRel \ |
|
391 SVGPathSegLinetoVerticalAbs \ |
|
392 SVGPathSegLinetoVerticalRel \ |
|
393 SVGPathSegList \ |
|
394 SVGPathSegMovetoAbs \ |
|
395 SVGPathSegMovetoRel \ |
|
396 SVGPatternElement \ |
|
397 SVGPoint \ |
|
398 SVGPointList \ |
|
399 SVGPolygonElement \ |
|
400 SVGPolylineElement \ |
|
401 SVGPreserveAspectRatio \ |
|
402 SVGRadialGradientElement \ |
|
403 SVGRect \ |
|
404 SVGRectElement \ |
|
405 SVGRenderingIntent \ |
|
406 SVGSVGElement \ |
|
407 SVGScriptElement \ |
|
408 SVGSetElement \ |
|
409 SVGStopElement \ |
|
410 SVGStringList \ |
|
411 SVGStylable \ |
|
412 SVGStyleElement \ |
|
413 SVGSwitchElement \ |
|
414 SVGSymbolElement \ |
|
415 SVGTRefElement \ |
|
416 SVGTSpanElement \ |
|
417 SVGTests \ |
|
418 SVGTextContentElement \ |
|
419 SVGTextElement \ |
|
420 SVGTextPathElement \ |
|
421 SVGTextPositioningElement \ |
|
422 SVGTitleElement \ |
|
423 SVGTransform \ |
|
424 SVGTransformList \ |
|
425 SVGTransformable \ |
|
426 SVGURIReference \ |
|
427 SVGUnitTypes \ |
|
428 SVGUseElement \ |
|
429 SVGViewElement \ |
|
430 SVGVKernElement \ |
|
431 SVGZoomAndPan \ |
|
432 SVGZoomEvent \ |
|
433 Screen \ |
|
434 StyleMedia \ |
|
435 StyleSheet \ |
|
436 StyleSheetList \ |
|
437 Text \ |
|
438 TextEvent \ |
|
439 TextMetrics \ |
|
440 TimeRanges \ |
|
441 Timing \ |
|
442 Touch \ |
|
443 TouchEvent \ |
|
444 TouchList \ |
|
445 TransformActionEvent \ |
|
446 TreeWalker \ |
|
447 UIEvent \ |
|
448 ValidityState \ |
|
449 WebKitAnimationEvent \ |
|
450 WebKitCSSKeyframeRule \ |
|
451 WebKitCSSKeyframesRule \ |
|
452 WebKitCSSMatrix \ |
|
453 WebKitCSSTransformValue \ |
|
454 WebKitPoint \ |
|
455 WebKitTransitionEvent \ |
|
456 WebSocket \ |
|
457 WheelEvent \ |
|
458 Worker \ |
|
459 WorkerContext \ |
|
460 WorkerLocation \ |
|
461 WorkerNavigator \ |
|
462 XMLHttpRequest \ |
|
463 XMLHttpRequestException \ |
|
464 XMLHttpRequestProgressEvent \ |
|
465 XMLHttpRequestUpload \ |
|
466 XMLSerializer \ |
|
467 XPathEvaluator \ |
|
468 XPathException \ |
|
469 XPathExpression \ |
|
470 XPathNSResolver \ |
|
471 XPathResult \ |
|
472 XSLTProcessor \ |
|
473 # |
|
474 |
|
475 INSPECTOR_CLASSES = Inspector |
|
476 |
|
477 .PHONY : all |
|
478 |
|
479 JS_DOM_HEADERS=$(filter-out JSEventListener.h JSEventTarget.h,$(DOM_CLASSES:%=JS%.h) $(INSPECTOR_CLASSES:%=Remote%Frontend.h)) |
|
480 |
|
481 all : \ |
|
482 remove-stray-plugin-and-mime-type-files \ |
|
483 \ |
|
484 $(JS_DOM_HEADERS) \ |
|
485 \ |
|
486 JSJavaScriptCallFrame.h \ |
|
487 \ |
|
488 CSSGrammar.cpp \ |
|
489 CSSPropertyNames.h \ |
|
490 CSSValueKeywords.h \ |
|
491 ColorData.cpp \ |
|
492 DocTypeStrings.cpp \ |
|
493 HTMLElementFactory.cpp \ |
|
494 HTMLEntityNames.cpp \ |
|
495 HTMLNames.cpp \ |
|
496 WMLElementFactory.cpp \ |
|
497 WMLNames.cpp \ |
|
498 JSSVGElementWrapperFactory.cpp \ |
|
499 SVGElementFactory.cpp \ |
|
500 SVGNames.cpp \ |
|
501 UserAgentStyleSheets.h \ |
|
502 XLinkNames.cpp \ |
|
503 XMLNSNames.cpp \ |
|
504 XMLNames.cpp \ |
|
505 MathMLElementFactory.cpp \ |
|
506 MathMLNames.cpp \ |
|
507 XPathGrammar.cpp \ |
|
508 tokenizer.cpp \ |
|
509 # |
|
510 |
|
511 # -------- |
|
512 |
|
513 ADDITIONAL_IDL_DEFINES := |
|
514 |
|
515 ifeq ($(OS),MACOS) |
|
516 |
|
517 FRAMEWORK_FLAGS = $(shell echo $(BUILT_PRODUCTS_DIR) $(FRAMEWORK_SEARCH_PATHS) | perl -e 'print "-F " . join(" -F ", split(" ", <>));') |
|
518 |
|
519 ifeq ($(shell gcc -E -P -dM $(FRAMEWORK_FLAGS) WebCore/ForwardingHeaders/wtf/Platform.h | grep ENABLE_DASHBOARD_SUPPORT | cut -d' ' -f3), 1) |
|
520 ENABLE_DASHBOARD_SUPPORT = 1 |
|
521 else |
|
522 ENABLE_DASHBOARD_SUPPORT = 0 |
|
523 endif |
|
524 |
|
525 ifeq ($(shell gcc -E -P -dM $(FRAMEWORK_FLAGS) WebCore/ForwardingHeaders/wtf/Platform.h | grep ENABLE_ORIENTATION_EVENTS | cut -d' ' -f3), 1) |
|
526 ENABLE_ORIENTATION_EVENTS = 1 |
|
527 else |
|
528 ENABLE_ORIENTATION_EVENTS = 0 |
|
529 endif |
|
530 |
|
531 else |
|
532 |
|
533 ifndef ENABLE_DASHBOARD_SUPPORT |
|
534 ENABLE_DASHBOARD_SUPPORT = 0 |
|
535 endif |
|
536 |
|
537 ifndef ENABLE_ORIENTATION_EVENTS |
|
538 ENABLE_ORIENTATION_EVENTS = 0 |
|
539 endif |
|
540 |
|
541 endif # MACOS |
|
542 |
|
543 ifeq ($(ENABLE_ORIENTATION_EVENTS), 1) |
|
544 ADDITIONAL_IDL_DEFINES := $(ADDITIONAL_IDL_DEFINES) ENABLE_ORIENTATION_EVENTS |
|
545 endif |
|
546 |
|
547 # -------- |
|
548 |
|
549 # Temporary build rule. Take out once some time has passed. |
|
550 |
|
551 .PHONY : remove-stray-plugin-and-mime-type-files |
|
552 remove-stray-plugin-and-mime-type-files : |
|
553 (rm DOMMimeTypeArray.h DOMMimeTypeArray.mm DOMMimeTypeArrayInternal.h DOMPluginArray.h DOMPluginArray.mm DOMPluginArrayInternal.h 2> /dev/null) || echo -n |
|
554 |
|
555 # CSS property names and value keywords |
|
556 |
|
557 WEBCORE_CSS_PROPERTY_NAMES := $(WebCore)/css/CSSPropertyNames.in |
|
558 WEBCORE_CSS_VALUE_KEYWORDS := $(WebCore)/css/CSSValueKeywords.in |
|
559 |
|
560 ifeq ($(findstring ENABLE_SVG,$(FEATURE_DEFINES)), ENABLE_SVG) |
|
561 WEBCORE_CSS_PROPERTY_NAMES := $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/SVGCSSPropertyNames.in |
|
562 WEBCORE_CSS_VALUE_KEYWORDS := $(WEBCORE_CSS_VALUE_KEYWORDS) $(WebCore)/css/SVGCSSValueKeywords.in |
|
563 endif |
|
564 |
|
565 ifeq ($(ENABLE_DASHBOARD_SUPPORT), 1) |
|
566 WEBCORE_CSS_PROPERTY_NAMES := $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/DashboardSupportCSSPropertyNames.in |
|
567 endif |
|
568 |
|
569 # The grep commands below reject output containing anything other than: |
|
570 # 1. Lines beginning with '#' |
|
571 # 2. Lines containing only whitespace |
|
572 # These two types of lines will be ignored by make{prop,values}.pl. |
|
573 CSSPropertyNames.h : $(WEBCORE_CSS_PROPERTY_NAMES) css/makeprop.pl |
|
574 if sort $(WEBCORE_CSS_PROPERTY_NAMES) | uniq -d | grep -E -v '(^#)|(^[[:space:]]*$$)'; then echo 'Duplicate value!'; exit 1; fi |
|
575 cat $(WEBCORE_CSS_PROPERTY_NAMES) > CSSPropertyNames.in |
|
576 perl "$(WebCore)/css/makeprop.pl" |
|
577 |
|
578 CSSValueKeywords.h : $(WEBCORE_CSS_VALUE_KEYWORDS) css/makevalues.pl |
|
579 # Lower case all the values, as CSS values are case-insensitive |
|
580 perl -ne 'print lc' $(WEBCORE_CSS_VALUE_KEYWORDS) > CSSValueKeywords.in |
|
581 if sort CSSValueKeywords.in | uniq -d | grep -E -v '(^#)|(^[[:space:]]*$$)'; then echo 'Duplicate value!'; exit 1; fi |
|
582 perl "$(WebCore)/css/makevalues.pl" |
|
583 |
|
584 # -------- |
|
585 |
|
586 # DOCTYPE strings |
|
587 |
|
588 DocTypeStrings.cpp : html/DocTypeStrings.gperf $(WebCore)/make-hash-tools.pl |
|
589 perl $(WebCore)/make-hash-tools.pl . $(WebCore)/html/DocTypeStrings.gperf |
|
590 |
|
591 # -------- |
|
592 |
|
593 # HTML entity names |
|
594 |
|
595 HTMLEntityNames.cpp : html/HTMLEntityNames.gperf $(WebCore)/make-hash-tools.pl |
|
596 perl $(WebCore)/make-hash-tools.pl . $(WebCore)/html/HTMLEntityNames.gperf |
|
597 |
|
598 # -------- |
|
599 |
|
600 # color names |
|
601 |
|
602 ColorData.cpp : platform/ColorData.gperf $(WebCore)/make-hash-tools.pl |
|
603 perl $(WebCore)/make-hash-tools.pl . $(WebCore)/platform/ColorData.gperf |
|
604 |
|
605 # -------- |
|
606 |
|
607 # CSS tokenizer |
|
608 |
|
609 tokenizer.cpp : css/tokenizer.flex css/maketokenizer |
|
610 flex -t $< | perl $(WebCore)/css/maketokenizer > $@ |
|
611 |
|
612 # -------- |
|
613 |
|
614 # CSS grammar |
|
615 # NOTE: Older versions of bison do not inject an inclusion guard, so we add one. |
|
616 |
|
617 CSSGrammar.cpp : css/CSSGrammar.y |
|
618 bison -d -p cssyy $< -o $@ |
|
619 touch CSSGrammar.cpp.h |
|
620 touch CSSGrammar.hpp |
|
621 echo '#ifndef CSSGrammar_h' > CSSGrammar.h |
|
622 echo '#define CSSGrammar_h' >> CSSGrammar.h |
|
623 cat CSSGrammar.cpp.h CSSGrammar.hpp >> CSSGrammar.h |
|
624 echo '#endif' >> CSSGrammar.h |
|
625 rm -f CSSGrammar.cpp.h CSSGrammar.hpp |
|
626 |
|
627 # -------- |
|
628 |
|
629 # XPath grammar |
|
630 # NOTE: Older versions of bison do not inject an inclusion guard, so we add one. |
|
631 |
|
632 XPathGrammar.cpp : xml/XPathGrammar.y $(PROJECT_FILE) |
|
633 bison -d -p xpathyy $< -o $@ |
|
634 touch XPathGrammar.cpp.h |
|
635 touch XPathGrammar.hpp |
|
636 echo '#ifndef XPathGrammar_h' > XPathGrammar.h |
|
637 echo '#define XPathGrammar_h' >> XPathGrammar.h |
|
638 cat XPathGrammar.cpp.h XPathGrammar.hpp >> XPathGrammar.h |
|
639 echo '#endif' >> XPathGrammar.h |
|
640 rm -f XPathGrammar.cpp.h XPathGrammar.hpp |
|
641 |
|
642 # -------- |
|
643 |
|
644 # user agent style sheets |
|
645 |
|
646 USER_AGENT_STYLE_SHEETS = $(WebCore)/css/html.css $(WebCore)/css/quirks.css $(WebCore)/css/view-source.css $(WebCore)/css/themeWin.css $(WebCore)/css/themeWinQuirks.css |
|
647 |
|
648 ifeq ($(findstring ENABLE_SVG,$(FEATURE_DEFINES)), ENABLE_SVG) |
|
649 USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/svg.css |
|
650 endif |
|
651 |
|
652 ifeq ($(findstring ENABLE_WML,$(FEATURE_DEFINES)), ENABLE_WML) |
|
653 USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/wml.css |
|
654 endif |
|
655 |
|
656 ifeq ($(findstring ENABLE_MATHML,$(FEATURE_DEFINES)), ENABLE_MATHML) |
|
657 USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/mathml.css |
|
658 endif |
|
659 |
|
660 ifeq ($(findstring ENABLE_VIDEO,$(FEATURE_DEFINES)), ENABLE_VIDEO) |
|
661 USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/mediaControls.css |
|
662 ifeq ($(OS),MACOS) |
|
663 USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/mediaControlsQuickTime.css |
|
664 endif |
|
665 endif |
|
666 |
|
667 UserAgentStyleSheets.h : css/make-css-file-arrays.pl $(USER_AGENT_STYLE_SHEETS) |
|
668 perl $< $@ UserAgentStyleSheetsData.cpp $(USER_AGENT_STYLE_SHEETS) |
|
669 |
|
670 # -------- |
|
671 |
|
672 # HTML tag and attribute names |
|
673 |
|
674 ifeq ($(findstring ENABLE_DATALIST,$(FEATURE_DEFINES)), ENABLE_DATALIST) |
|
675 HTML_FLAGS := $(HTML_FLAGS) ENABLE_DATALIST=1 |
|
676 endif |
|
677 |
|
678 ifeq ($(findstring ENABLE_METER_TAG,$(FEATURE_DEFINES)), ENABLE_METER_TAG) |
|
679 HTML_FLAGS := $(HTML_FLAGS) ENABLE_METER_TAG=1 |
|
680 endif |
|
681 |
|
682 ifeq ($(findstring ENABLE_PROGRESS_TAG,$(FEATURE_DEFINES)), ENABLE_PROGRESS_TAG) |
|
683 HTML_FLAGS := $(HTML_FLAGS) ENABLE_PROGRESS_TAG=1 |
|
684 endif |
|
685 |
|
686 ifeq ($(findstring ENABLE_VIDEO,$(FEATURE_DEFINES)), ENABLE_VIDEO) |
|
687 HTML_FLAGS := $(HTML_FLAGS) ENABLE_VIDEO=1 |
|
688 endif |
|
689 |
|
690 ifeq ($(findstring ENABLE_RUBY,$(FEATURE_DEFINES)), ENABLE_RUBY) |
|
691 HTML_FLAGS := $(HTML_FLAGS) ENABLE_RUBY=1 |
|
692 endif |
|
693 |
|
694 ifdef HTML_FLAGS |
|
695 |
|
696 HTMLElementFactory.cpp HTMLNames.cpp : dom/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in |
|
697 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --factory --wrapperFactory --extraDefines "$(HTML_FLAGS)" |
|
698 |
|
699 else |
|
700 |
|
701 HTMLElementFactory.cpp HTMLNames.cpp : dom/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in |
|
702 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --factory --wrapperFactory |
|
703 |
|
704 endif |
|
705 |
|
706 JSHTMLElementWrapperFactory.cpp : HTMLNames.cpp |
|
707 |
|
708 XMLNSNames.cpp : dom/make_names.pl xml/xmlnsattrs.in |
|
709 perl -I $(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlnsattrs.in |
|
710 |
|
711 XMLNames.cpp : dom/make_names.pl xml/xmlattrs.in |
|
712 perl -I $(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlattrs.in |
|
713 |
|
714 # -------- |
|
715 |
|
716 # SVG tag and attribute names, and element factory |
|
717 |
|
718 ifeq ($(findstring ENABLE_SVG_USE,$(FEATURE_DEFINES)), ENABLE_SVG_USE) |
|
719 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_USE=1 |
|
720 endif |
|
721 |
|
722 ifeq ($(findstring ENABLE_SVG_FONTS,$(FEATURE_DEFINES)), ENABLE_SVG_FONTS) |
|
723 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_FONTS=1 |
|
724 endif |
|
725 |
|
726 ifeq ($(findstring ENABLE_FILTERS,$(FEATURE_DEFINES)), ENABLE_FILTERS) |
|
727 SVG_FLAGS := $(SVG_FLAGS) ENABLE_FILTERS=1 |
|
728 endif |
|
729 |
|
730 ifeq ($(findstring ENABLE_SVG_AS_IMAGE,$(FEATURE_DEFINES)), ENABLE_SVG_AS_IMAGE) |
|
731 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_AS_IMAGE=1 |
|
732 endif |
|
733 |
|
734 ifeq ($(findstring ENABLE_SVG_ANIMATION,$(FEATURE_DEFINES)), ENABLE_SVG_ANIMATION) |
|
735 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_ANIMATION=1 |
|
736 endif |
|
737 |
|
738 ifeq ($(findstring ENABLE_SVG_FOREIGN_OBJECT,$(FEATURE_DEFINES)), ENABLE_SVG_FOREIGN_OBJECT) |
|
739 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_FOREIGN_OBJECT=1 |
|
740 endif |
|
741 |
|
742 # SVG tag and attribute names (need to pass an extra flag if svg experimental features are enabled) |
|
743 |
|
744 ifdef SVG_FLAGS |
|
745 |
|
746 SVGElementFactory.cpp SVGNames.cpp : dom/make_names.pl svg/svgtags.in svg/svgattrs.in |
|
747 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/svg/svgtags.in --attrs $(WebCore)/svg/svgattrs.in --extraDefines "$(SVG_FLAGS)" --factory --wrapperFactory |
|
748 else |
|
749 |
|
750 SVGElementFactory.cpp SVGNames.cpp : dom/make_names.pl svg/svgtags.in svg/svgattrs.in |
|
751 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/svg/svgtags.in --attrs $(WebCore)/svg/svgattrs.in --factory --wrapperFactory |
|
752 |
|
753 endif |
|
754 |
|
755 JSSVGElementWrapperFactory.cpp : SVGNames.cpp |
|
756 |
|
757 XLinkNames.cpp : dom/make_names.pl svg/xlinkattrs.in |
|
758 perl -I $(WebCore)/bindings/scripts $< --attrs $(WebCore)/svg/xlinkattrs.in |
|
759 |
|
760 # -------- |
|
761 |
|
762 # WML tag and attribute names, and element factory |
|
763 |
|
764 ifeq ($(findstring ENABLE_WML,$(FEATURE_DEFINES)), ENABLE_WML) |
|
765 |
|
766 WMLElementFactory.cpp WMLNames.cpp : dom/make_names.pl wml/WMLTagNames.in wml/WMLAttributeNames.in |
|
767 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/wml/WMLTagNames.in --attrs $(WebCore)/wml/WMLAttributeNames.in --factory --wrapperFactory |
|
768 |
|
769 else |
|
770 |
|
771 WMLElementFactory.cpp : |
|
772 echo > $@ |
|
773 |
|
774 WMLNames.cpp : |
|
775 echo > $@ |
|
776 |
|
777 endif |
|
778 |
|
779 # -------- |
|
780 |
|
781 # MathML tag and attribute names, and element factory |
|
782 |
|
783 MathMLElementFactory.cpp MathMLNames.cpp : dom/make_names.pl mathml/mathtags.in mathml/mathattrs.in |
|
784 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/mathml/mathtags.in --attrs $(WebCore)/mathml/mathattrs.in --factory --wrapperFactory |
|
785 |
|
786 # -------- |
|
787 |
|
788 # Common generator things |
|
789 |
|
790 GENERATE_SCRIPTS = \ |
|
791 bindings/scripts/CodeGenerator.pm \ |
|
792 bindings/scripts/IDLParser.pm \ |
|
793 bindings/scripts/IDLStructure.pm \ |
|
794 bindings/scripts/generate-bindings.pl |
|
795 |
|
796 generator_script = perl $(addprefix -I $(WebCore)/, $(sort $(dir $(1)))) $(WebCore)/bindings/scripts/generate-bindings.pl |
|
797 |
|
798 # JS bindings generator |
|
799 |
|
800 IDL_INCLUDES = dom html css page notifications xml svg |
|
801 IDL_COMMON_ARGS = $(IDL_INCLUDES:%=--include %) --write-dependencies --outputDir . |
|
802 |
|
803 JS_BINDINGS_SCRIPTS = $(GENERATE_SCRIPTS) bindings/scripts/CodeGeneratorJS.pm |
|
804 |
|
805 JS%.h : %.idl $(JS_BINDINGS_SCRIPTS) |
|
806 $(call generator_script, $(JS_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS $< |
|
807 |
|
808 # Inspector interfaces generator |
|
809 |
|
810 INSPECTOR_GENERATOR_SCRIPTS = $(GENERATE_SCRIPTS) inspector/CodeGeneratorInspector.pm |
|
811 |
|
812 Remote%Frontend.h : %.idl $(INSPECTOR_GENERATOR_SCRIPTS) |
|
813 $(call generator_script, $(INSPECTOR_GENERATOR_SCRIPTS)) --outputDir . --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator Inspector $< |
|
814 |
|
815 -include $(JS_DOM_HEADERS:.h=.dep) |
|
816 |
|
817 # ------------------------ |
|
818 |
|
819 # Mac-specific rules |
|
820 |
|
821 ifeq ($(OS),MACOS) |
|
822 |
|
823 OBJC_DOM_HEADERS=$(filter-out DOMDOMWindow.h DOMDOMMimeType.h DOMDOMPlugin.h,$(DOM_CLASSES:%=DOM%.h)) |
|
824 |
|
825 all : $(OBJC_DOM_HEADERS) |
|
826 |
|
827 all : CharsetData.cpp |
|
828 |
|
829 # -------- |
|
830 |
|
831 # character set name table |
|
832 |
|
833 CharsetData.cpp : platform/text/mac/make-charset-table.pl platform/text/mac/character-sets.txt platform/text/mac/mac-encodings.txt |
|
834 perl $^ kTextEncoding > $@ |
|
835 |
|
836 # -------- |
|
837 |
|
838 ifneq ($(ACTION),installhdrs) |
|
839 |
|
840 all : WebCore.exp WebCore.LP64.exp |
|
841 |
|
842 WebCore.exp : $(BUILT_PRODUCTS_DIR)/WebCoreExportFileGenerator |
|
843 $^ > $@ |
|
844 |
|
845 # Switch NSRect, NSSize and NSPoint with their CG counterparts for the 64-bit exports file. |
|
846 WebCore.LP64.exp : WebCore.exp |
|
847 cat $^ | sed -e s/7_NSRect/6CGRect/ -e s/7_NSSize/6CGSize/ -e s/8_NSPoint/7CGPoint/ > $@ |
|
848 |
|
849 endif # installhdrs |
|
850 |
|
851 # -------- |
|
852 |
|
853 # Objective-C bindings |
|
854 |
|
855 DOM_BINDINGS_SCRIPTS = $(GENERATE_BINDING_SCRIPTS) bindings/scripts/CodeGeneratorObjC.pm |
|
856 DOM%.h : %.idl $(DOM_BINDINGS_SCRIPTS) bindings/objc/PublicDOMInterfaces.h |
|
857 $(call generator_script, $(DOM_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_OBJECTIVE_C" --generator ObjC $< |
|
858 |
|
859 -include $(OBJC_DOM_HEADERS:.h=.dep) |
|
860 |
|
861 # -------- |
|
862 |
|
863 endif # MACOS |
|
864 |
|
865 # ------------------------ |