1 # Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. 2 # Copyright (C) 2006 Samuel Weinig <sam.weinig (a] gmail.com> 3 # Copyright (C) 2009 Cameron McCormack <cam (a] 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/generic \ 32 $(WebCore)/bindings/js \ 33 $(WebCore)/bindings/objc \ 34 $(WebCore)/css \ 35 $(WebCore)/dom \ 36 $(WebCore)/fileapi \ 37 $(WebCore)/html \ 38 $(WebCore)/html/canvas \ 39 $(WebCore)/inspector \ 40 $(WebCore)/loader/appcache \ 41 $(WebCore)/notifications \ 42 $(WebCore)/page \ 43 $(WebCore)/plugins \ 44 $(WebCore)/storage \ 45 $(WebCore)/xml \ 46 $(WebCore)/webaudio \ 47 $(WebCore)/wml \ 48 $(WebCore)/workers \ 49 $(WebCore)/svg \ 50 $(WebCore)/websockets \ 51 # 52 53 DOM_CLASSES = \ 54 AbstractView \ 55 AbstractWorker \ 56 Attr \ 57 AudioBuffer \ 58 AudioBufferSourceNode \ 59 AudioChannelSplitter \ 60 AudioChannelMerger \ 61 AudioContext \ 62 AudioDestinationNode \ 63 AudioGain \ 64 AudioGainNode \ 65 AudioListener \ 66 AudioNode \ 67 AudioPannerNode \ 68 AudioParam \ 69 AudioProcessingEvent \ 70 AudioSourceNode \ 71 ConvolverNode \ 72 DelayNode \ 73 HighPass2FilterNode \ 74 JavaScriptAudioNode \ 75 LowPass2FilterNode \ 76 OfflineAudioCompletionEvent \ 77 RealtimeAnalyserNode \ 78 BarInfo \ 79 BeforeLoadEvent \ 80 BeforeProcessEvent \ 81 Blob \ 82 WebKitBlobBuilder \ 83 CDATASection \ 84 CSSCharsetRule \ 85 CSSFontFaceRule \ 86 CSSImportRule \ 87 CSSMediaRule \ 88 CSSPageRule \ 89 CSSPrimitiveValue \ 90 CSSRule \ 91 CSSRuleList \ 92 CSSStyleDeclaration \ 93 CSSStyleRule \ 94 CSSStyleSheet \ 95 CSSUnknownRule \ 96 CSSValue \ 97 CSSValueList \ 98 WebGLActiveInfo \ 99 ArrayBufferView \ 100 ArrayBuffer \ 101 DataView \ 102 WebGLBuffer \ 103 Int8Array \ 104 WebGLContextAttributes \ 105 Float32Array \ 106 WebGLFramebuffer \ 107 CanvasGradient \ 108 Int32Array \ 109 CanvasPattern \ 110 WebGLProgram \ 111 WebGLRenderbuffer \ 112 CanvasRenderingContext \ 113 CanvasRenderingContext2D \ 114 WebGLRenderingContext \ 115 WebGLShader \ 116 Int16Array \ 117 WebGLTexture \ 118 WebGLUniformLocation \ 119 Uint8Array \ 120 Uint32Array \ 121 Uint16Array \ 122 CharacterData \ 123 ClientRect \ 124 ClientRectList \ 125 Clipboard \ 126 Comment \ 127 CompositionEvent \ 128 Console \ 129 Coordinates \ 130 Counter \ 131 Crypto \ 132 CustomEvent \ 133 DataGridColumn \ 134 DataGridColumnList \ 135 DataTransferItem \ 136 DataTransferItems \ 137 DedicatedWorkerContext \ 138 DOMApplicationCache \ 139 DOMCoreException \ 140 DOMFileSystem \ 141 DOMFileSystemSync \ 142 DOMFormData \ 143 DOMImplementation \ 144 DOMMimeType \ 145 DOMMimeTypeArray \ 146 DOMParser \ 147 DOMPlugin \ 148 DOMPluginArray \ 149 DOMSelection \ 150 DOMStringList \ 151 DOMStringMap \ 152 DOMSettableTokenList \ 153 DOMTokenList \ 154 DOMURL \ 155 DOMWindow \ 156 DataTransferItem \ 157 DataTransferItems \ 158 Database \ 159 DatabaseCallback \ 160 DatabaseSync \ 161 DeviceMotionEvent \ 162 DeviceOrientationEvent \ 163 DirectoryEntry \ 164 DirectoryEntrySync \ 165 DirectoryReader \ 166 DirectoryReaderSync \ 167 Document \ 168 DocumentFragment \ 169 DocumentType \ 170 Element \ 171 ElementTimeControl \ 172 Entity \ 173 EntityReference \ 174 EntriesCallback \ 175 Entry \ 176 EntrySync \ 177 EntryArray \ 178 EntryArraySync \ 179 EntryCallback \ 180 ErrorCallback \ 181 ErrorEvent \ 182 Event \ 183 EventException \ 184 EventListener \ 185 EventSource \ 186 EventTarget \ 187 File \ 188 FileCallback \ 189 FileEntry \ 190 FileEntrySync \ 191 FileException \ 192 FileError \ 193 FileList \ 194 FileReader \ 195 FileReaderSync \ 196 FileWriter \ 197 FileWriterCallback \ 198 FileWriterSync \ 199 FileSystemCallback \ 200 WebKitFlags \ 201 Geolocation \ 202 Geoposition \ 203 HashChangeEvent \ 204 History \ 205 HTMLAllCollection \ 206 HTMLAnchorElement \ 207 HTMLAppletElement \ 208 HTMLAreaElement \ 209 HTMLAudioElement \ 210 HTMLBRElement \ 211 HTMLBaseElement \ 212 HTMLBaseFontElement \ 213 HTMLBlockquoteElement \ 214 HTMLBodyElement \ 215 HTMLButtonElement \ 216 HTMLCanvasElement \ 217 HTMLCollection \ 218 HTMLDataGridElement \ 219 HTMLDataGridCellElement \ 220 HTMLDataGridColElement \ 221 HTMLDataGridRowElement \ 222 HTMLDataListElement \ 223 HTMLDetailsElement \ 224 HTMLDListElement \ 225 HTMLDirectoryElement \ 226 HTMLDivElement \ 227 HTMLDocument \ 228 HTMLElement \ 229 HTMLEmbedElement \ 230 HTMLFieldSetElement \ 231 HTMLFontElement \ 232 HTMLFormElement \ 233 HTMLFrameElement \ 234 HTMLFrameSetElement \ 235 HTMLHRElement \ 236 HTMLHeadElement \ 237 HTMLHeadingElement \ 238 HTMLHtmlElement \ 239 HTMLIFrameElement \ 240 HTMLImageElement \ 241 HTMLInputElement \ 242 HTMLIsIndexElement \ 243 HTMLKeygenElement \ 244 HTMLLIElement \ 245 HTMLLabelElement \ 246 HTMLLegendElement \ 247 HTMLLinkElement \ 248 HTMLMapElement \ 249 HTMLMarqueeElement \ 250 HTMLMediaElement \ 251 HTMLMenuElement \ 252 HTMLMetaElement \ 253 HTMLMeterElement \ 254 HTMLModElement \ 255 HTMLOListElement \ 256 HTMLObjectElement \ 257 HTMLOptGroupElement \ 258 HTMLOptionElement \ 259 HTMLOptionsCollection \ 260 HTMLOutputElement \ 261 HTMLParagraphElement \ 262 HTMLParamElement \ 263 HTMLPreElement \ 264 HTMLProgressElement \ 265 HTMLQuoteElement \ 266 HTMLScriptElement \ 267 HTMLSelectElement \ 268 HTMLSourceElement \ 269 HTMLStyleElement \ 270 HTMLTableCaptionElement \ 271 HTMLTableCellElement \ 272 HTMLTableColElement \ 273 HTMLTableElement \ 274 HTMLTableRowElement \ 275 HTMLTableSectionElement \ 276 HTMLTextAreaElement \ 277 HTMLTitleElement \ 278 HTMLTrackElement \ 279 HTMLUListElement \ 280 HTMLVideoElement \ 281 IDBAny \ 282 IDBCursor \ 283 IDBDatabaseError \ 284 IDBDatabaseException \ 285 IDBDatabase \ 286 IDBFactory \ 287 IDBIndex \ 288 IDBKey \ 289 IDBKeyRange \ 290 IDBObjectStore \ 291 IDBRequest \ 292 IDBTransaction \ 293 ImageData \ 294 InjectedScriptHost \ 295 InspectorFrontendHost \ 296 KeyboardEvent \ 297 Location \ 298 MediaError \ 299 MediaList \ 300 MediaQueryList \ 301 MediaQueryListListener \ 302 MemoryInfo \ 303 MessageChannel \ 304 MessageEvent \ 305 MessagePort \ 306 Metadata \ 307 MetadataCallback \ 308 MouseEvent \ 309 MutationEvent \ 310 NamedNodeMap \ 311 Navigator \ 312 NavigatorUserMediaError \ 313 NavigatorUserMediaErrorCallback \ 314 NavigatorUserMediaSuccessCallback \ 315 Node \ 316 NodeFilter \ 317 NodeIterator \ 318 NodeList \ 319 Notation \ 320 Notification \ 321 NotificationCenter \ 322 OESStandardDerivatives \ 323 OESTextureFloat \ 324 OESVertexArrayObject \ 325 WebGLVertexArrayObjectOES \ 326 OverflowEvent \ 327 PageTransitionEvent \ 328 Performance \ 329 PerformanceNavigation \ 330 PerformanceTiming \ 331 PopStateEvent \ 332 PositionError \ 333 ProcessingInstruction \ 334 ProgressEvent \ 335 RGBColor \ 336 Range \ 337 RangeException \ 338 Rect \ 339 SharedWorker \ 340 SharedWorkerContext \ 341 ScriptProfile \ 342 ScriptProfileNode \ 343 SpeechInputEvent \ 344 SpeechInputResult \ 345 SpeechInputResultList \ 346 SQLError \ 347 SQLException \ 348 SQLResultSet \ 349 SQLResultSetRowList \ 350 SQLStatementCallback \ 351 SQLStatementErrorCallback \ 352 SQLTransaction \ 353 SQLTransactionCallback \ 354 SQLTransactionErrorCallback \ 355 SQLTransactionSync \ 356 SQLTransactionSyncCallback \ 357 Storage \ 358 StorageEvent \ 359 StorageInfo \ 360 StorageInfoErrorCallback \ 361 StorageInfoUsageCallback \ 362 StringCallback \ 363 SVGAElement \ 364 SVGAltGlyphElement \ 365 SVGAngle \ 366 SVGAnimateColorElement \ 367 SVGAnimateElement \ 368 SVGAnimateTransformElement \ 369 SVGAnimatedAngle \ 370 SVGAnimatedBoolean \ 371 SVGAnimatedEnumeration \ 372 SVGAnimatedInteger \ 373 SVGAnimatedLength \ 374 SVGAnimatedLengthList \ 375 SVGAnimatedNumber \ 376 SVGAnimatedNumberList \ 377 SVGAnimatedPreserveAspectRatio \ 378 SVGAnimatedRect \ 379 SVGAnimatedString \ 380 SVGAnimatedTransformList \ 381 SVGAnimationElement \ 382 SVGCircleElement \ 383 SVGClipPathElement \ 384 SVGColor \ 385 SVGComponentTransferFunctionElement \ 386 SVGCursorElement \ 387 SVGDefsElement \ 388 SVGDescElement \ 389 SVGDocument \ 390 SVGElement \ 391 SVGElementInstance \ 392 SVGElementInstanceList \ 393 SVGEllipseElement \ 394 SVGException \ 395 SVGExternalResourcesRequired \ 396 SVGFEBlendElement \ 397 SVGFEColorMatrixElement \ 398 SVGFEComponentTransferElement \ 399 SVGFECompositeElement \ 400 SVGFEConvolveMatrixElement \ 401 SVGFEDiffuseLightingElement \ 402 SVGFEDisplacementMapElement \ 403 SVGFEDistantLightElement \ 404 SVGFEFloodElement \ 405 SVGFEFuncAElement \ 406 SVGFEFuncBElement \ 407 SVGFEFuncGElement \ 408 SVGFEFuncRElement \ 409 SVGFEGaussianBlurElement \ 410 SVGFEImageElement \ 411 SVGFEMergeElement \ 412 SVGFEMergeNodeElement \ 413 SVGFEMorphologyElement \ 414 SVGFEOffsetElement \ 415 SVGFEPointLightElement \ 416 SVGFESpecularLightingElement \ 417 SVGFESpotLightElement \ 418 SVGFETileElement \ 419 SVGFETurbulenceElement \ 420 SVGFilterElement \ 421 SVGFilterPrimitiveStandardAttributes \ 422 SVGFitToViewBox \ 423 SVGFontElement \ 424 SVGFontFaceElement \ 425 SVGFontFaceFormatElement \ 426 SVGFontFaceNameElement \ 427 SVGFontFaceSrcElement \ 428 SVGFontFaceUriElement \ 429 SVGForeignObjectElement \ 430 SVGGElement \ 431 SVGGlyphElement \ 432 SVGGradientElement \ 433 SVGHKernElement \ 434 SVGImageElement \ 435 SVGLangSpace \ 436 SVGLength \ 437 SVGLengthList \ 438 SVGLineElement \ 439 SVGLinearGradientElement \ 440 SVGLocatable \ 441 SVGMarkerElement \ 442 SVGMaskElement \ 443 SVGMatrix \ 444 SVGMetadataElement \ 445 SVGMissingGlyphElement \ 446 SVGNumber \ 447 SVGNumberList \ 448 SVGPaint \ 449 SVGPathElement \ 450 SVGPathSeg \ 451 SVGPathSegArcAbs \ 452 SVGPathSegArcRel \ 453 SVGPathSegClosePath \ 454 SVGPathSegCurvetoCubicAbs \ 455 SVGPathSegCurvetoCubicRel \ 456 SVGPathSegCurvetoCubicSmoothAbs \ 457 SVGPathSegCurvetoCubicSmoothRel \ 458 SVGPathSegCurvetoQuadraticAbs \ 459 SVGPathSegCurvetoQuadraticRel \ 460 SVGPathSegCurvetoQuadraticSmoothAbs \ 461 SVGPathSegCurvetoQuadraticSmoothRel \ 462 SVGPathSegLinetoAbs \ 463 SVGPathSegLinetoHorizontalAbs \ 464 SVGPathSegLinetoHorizontalRel \ 465 SVGPathSegLinetoRel \ 466 SVGPathSegLinetoVerticalAbs \ 467 SVGPathSegLinetoVerticalRel \ 468 SVGPathSegList \ 469 SVGPathSegMovetoAbs \ 470 SVGPathSegMovetoRel \ 471 SVGPatternElement \ 472 SVGPoint \ 473 SVGPointList \ 474 SVGPolygonElement \ 475 SVGPolylineElement \ 476 SVGPreserveAspectRatio \ 477 SVGRadialGradientElement \ 478 SVGRect \ 479 SVGRectElement \ 480 SVGRenderingIntent \ 481 SVGSVGElement \ 482 SVGScriptElement \ 483 SVGSetElement \ 484 SVGStopElement \ 485 SVGStringList \ 486 SVGStylable \ 487 SVGStyleElement \ 488 SVGSwitchElement \ 489 SVGSymbolElement \ 490 SVGTRefElement \ 491 SVGTSpanElement \ 492 SVGTests \ 493 SVGTextContentElement \ 494 SVGTextElement \ 495 SVGTextPathElement \ 496 SVGTextPositioningElement \ 497 SVGTitleElement \ 498 SVGTransform \ 499 SVGTransformList \ 500 SVGTransformable \ 501 SVGURIReference \ 502 SVGUnitTypes \ 503 SVGUseElement \ 504 SVGViewElement \ 505 SVGVKernElement \ 506 SVGZoomAndPan \ 507 SVGZoomEvent \ 508 Screen \ 509 StringCallback \ 510 StyleMedia \ 511 StyleSheet \ 512 StyleSheetList \ 513 Text \ 514 TextEvent \ 515 TextMetrics \ 516 TimeRanges \ 517 Touch \ 518 TouchEvent \ 519 TouchList \ 520 TreeWalker \ 521 UIEvent \ 522 ValidityState \ 523 WebKitAnimation \ 524 WebKitAnimationEvent \ 525 WebKitAnimationList \ 526 WebKitCSSKeyframeRule \ 527 WebKitCSSKeyframesRule \ 528 WebKitCSSMatrix \ 529 WebKitCSSTransformValue \ 530 WebKitLoseContext \ 531 WebKitPoint \ 532 WebKitTransitionEvent \ 533 WebSocket \ 534 WheelEvent \ 535 Worker \ 536 WorkerContext \ 537 WorkerLocation \ 538 WorkerNavigator \ 539 XMLHttpRequest \ 540 XMLHttpRequestException \ 541 XMLHttpRequestProgressEvent \ 542 XMLHttpRequestUpload \ 543 XMLSerializer \ 544 XPathEvaluator \ 545 XPathException \ 546 XPathExpression \ 547 XPathNSResolver \ 548 XPathResult \ 549 XSLTProcessor \ 550 # 551 552 .PHONY : all 553 554 JS_DOM_HEADERS=$(filter-out JSMediaQueryListListener.h JSEventListener.h JSEventTarget.h,$(DOM_CLASSES:%=JS%.h)) 555 556 WEB_DOM_HEADERS := 557 ifeq ($(findstring BUILDING_WX,$(FEATURE_DEFINES)), BUILDING_WX) 558 WEB_DOM_HEADERS := $(filter-out WebDOMXSLTProcessor.h WebDOMEventTarget.h,$(DOM_CLASSES:%=WebDOM%.h)) 559 endif # BUILDING_WX 560 561 all : \ 562 $(JS_DOM_HEADERS) \ 563 $(WEB_DOM_HEADERS) \ 564 \ 565 JSJavaScriptCallFrame.h \ 566 \ 567 CSSGrammar.cpp \ 568 CSSPropertyNames.h \ 569 CSSValueKeywords.h \ 570 ColorData.cpp \ 571 DocTypeStrings.cpp \ 572 HTMLElementFactory.cpp \ 573 HTMLEntityTable.cpp \ 574 HTMLNames.cpp \ 575 WMLElementFactory.cpp \ 576 WMLNames.cpp \ 577 JSSVGElementWrapperFactory.cpp \ 578 SVGElementFactory.cpp \ 579 SVGNames.cpp \ 580 UserAgentStyleSheets.h \ 581 XLinkNames.cpp \ 582 XMLNSNames.cpp \ 583 XMLNames.cpp \ 584 MathMLElementFactory.cpp \ 585 MathMLNames.cpp \ 586 XPathGrammar.cpp \ 587 tokenizer.cpp \ 588 # 589 590 # -------- 591 592 ADDITIONAL_IDL_DEFINES := 593 594 ifeq ($(OS),MACOS) 595 596 FRAMEWORK_FLAGS = $(shell echo $(BUILT_PRODUCTS_DIR) $(FRAMEWORK_SEARCH_PATHS) | perl -e 'print "-F " . join(" -F ", split(" ", <>));') 597 598 ifeq ($(shell gcc -E -P -dM $(FRAMEWORK_FLAGS) WebCore/ForwardingHeaders/wtf/Platform.h | grep ENABLE_DASHBOARD_SUPPORT | cut -d' ' -f3), 1) 599 ENABLE_DASHBOARD_SUPPORT = 1 600 else 601 ENABLE_DASHBOARD_SUPPORT = 0 602 endif 603 604 ifeq ($(shell gcc -E -P -dM $(FRAMEWORK_FLAGS) WebCore/ForwardingHeaders/wtf/Platform.h | grep ENABLE_ORIENTATION_EVENTS | cut -d' ' -f3), 1) 605 ENABLE_ORIENTATION_EVENTS = 1 606 else 607 ENABLE_ORIENTATION_EVENTS = 0 608 endif 609 610 else 611 612 ifndef ENABLE_DASHBOARD_SUPPORT 613 ENABLE_DASHBOARD_SUPPORT = 0 614 endif 615 616 ifndef ENABLE_ORIENTATION_EVENTS 617 ENABLE_ORIENTATION_EVENTS = 0 618 endif 619 620 endif # MACOS 621 622 ifeq ($(ENABLE_ORIENTATION_EVENTS), 1) 623 ADDITIONAL_IDL_DEFINES := $(ADDITIONAL_IDL_DEFINES) ENABLE_ORIENTATION_EVENTS 624 endif 625 626 # -------- 627 628 # CSS property names and value keywords 629 630 WEBCORE_CSS_PROPERTY_NAMES := $(WebCore)/css/CSSPropertyNames.in 631 WEBCORE_CSS_VALUE_KEYWORDS := $(WebCore)/css/CSSValueKeywords.in 632 633 ifeq ($(findstring ENABLE_SVG,$(FEATURE_DEFINES)), ENABLE_SVG) 634 WEBCORE_CSS_PROPERTY_NAMES := $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/SVGCSSPropertyNames.in 635 WEBCORE_CSS_VALUE_KEYWORDS := $(WEBCORE_CSS_VALUE_KEYWORDS) $(WebCore)/css/SVGCSSValueKeywords.in 636 endif 637 638 ifeq ($(ENABLE_DASHBOARD_SUPPORT), 1) 639 WEBCORE_CSS_PROPERTY_NAMES := $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/DashboardSupportCSSPropertyNames.in 640 endif 641 642 # The grep commands below reject output containing anything other than: 643 # 1. Lines beginning with '#' 644 # 2. Lines containing only whitespace 645 # These two types of lines will be ignored by make{prop,values}.pl. 646 CSSPropertyNames.h : $(WEBCORE_CSS_PROPERTY_NAMES) css/makeprop.pl 647 if sort $(WEBCORE_CSS_PROPERTY_NAMES) | uniq -d | grep -E -v '(^#)|(^[[:space:]]*$$)'; then echo 'Duplicate value!'; exit 1; fi 648 cat $(WEBCORE_CSS_PROPERTY_NAMES) > CSSPropertyNames.in 649 perl "$(WebCore)/css/makeprop.pl" 650 651 CSSValueKeywords.h : $(WEBCORE_CSS_VALUE_KEYWORDS) css/makevalues.pl 652 # Lower case all the values, as CSS values are case-insensitive 653 perl -ne 'print lc' $(WEBCORE_CSS_VALUE_KEYWORDS) > CSSValueKeywords.in 654 if sort CSSValueKeywords.in | uniq -d | grep -E -v '(^#)|(^[[:space:]]*$$)'; then echo 'Duplicate value!'; exit 1; fi 655 perl "$(WebCore)/css/makevalues.pl" 656 657 # -------- 658 659 # DOCTYPE strings 660 661 DocTypeStrings.cpp : html/DocTypeStrings.gperf $(WebCore)/make-hash-tools.pl 662 perl $(WebCore)/make-hash-tools.pl . $(WebCore)/html/DocTypeStrings.gperf 663 664 # -------- 665 666 # XMLViewer CSS 667 668 all : XMLViewerCSS.h 669 670 XMLViewerCSS.h : xml/XMLViewer.css 671 perl $(WebCore)/inspector/xxd.pl XMLViewer_css $(WebCore)/xml/XMLViewer.css XMLViewerCSS.h 672 673 # -------- 674 675 # XMLViewer JS 676 677 all : XMLViewerJS.h 678 679 XMLViewerJS.h : xml/XMLViewer.js 680 perl $(WebCore)/inspector/xxd.pl XMLViewer_js $(WebCore)/xml/XMLViewer.js XMLViewerJS.h 681 682 # -------- 683 684 # HTML entity names 685 686 HTMLEntityTable.cpp : html/parser/HTMLEntityNames.in $(WebCore)/html/parser/create-html-entity-table 687 python $(WebCore)/html/parser/create-html-entity-table -o HTMLEntityTable.cpp $(WebCore)/html/parser/HTMLEntityNames.in 688 689 # -------- 690 691 # color names 692 693 ColorData.cpp : platform/ColorData.gperf $(WebCore)/make-hash-tools.pl 694 perl $(WebCore)/make-hash-tools.pl . $(WebCore)/platform/ColorData.gperf 695 696 # -------- 697 698 # CSS tokenizer 699 700 tokenizer.cpp : css/tokenizer.flex css/maketokenizer 701 flex -t $< | perl $(WebCore)/css/maketokenizer > $@ 702 703 # -------- 704 705 # CSS grammar 706 # NOTE: Older versions of bison do not inject an inclusion guard, so we add one. 707 708 CSSGrammar.cpp : css/CSSGrammar.y 709 bison -d -p cssyy $< -o $@ 710 touch CSSGrammar.cpp.h 711 touch CSSGrammar.hpp 712 echo '#ifndef CSSGrammar_h' > CSSGrammar.h 713 echo '#define CSSGrammar_h' >> CSSGrammar.h 714 cat CSSGrammar.cpp.h CSSGrammar.hpp >> CSSGrammar.h 715 echo '#endif' >> CSSGrammar.h 716 rm -f CSSGrammar.cpp.h CSSGrammar.hpp 717 718 # -------- 719 720 # XPath grammar 721 # NOTE: Older versions of bison do not inject an inclusion guard, so we add one. 722 723 XPathGrammar.cpp : xml/XPathGrammar.y $(PROJECT_FILE) 724 bison -d -p xpathyy $< -o $@ 725 touch XPathGrammar.cpp.h 726 touch XPathGrammar.hpp 727 echo '#ifndef XPathGrammar_h' > XPathGrammar.h 728 echo '#define XPathGrammar_h' >> XPathGrammar.h 729 cat XPathGrammar.cpp.h XPathGrammar.hpp >> XPathGrammar.h 730 echo '#endif' >> XPathGrammar.h 731 rm -f XPathGrammar.cpp.h XPathGrammar.hpp 732 733 # -------- 734 735 # user agent style sheets 736 737 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 738 739 ifeq ($(findstring ENABLE_SVG,$(FEATURE_DEFINES)), ENABLE_SVG) 740 USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/svg.css 741 endif 742 743 ifeq ($(findstring ENABLE_WML,$(FEATURE_DEFINES)), ENABLE_WML) 744 USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/wml.css 745 endif 746 747 ifeq ($(findstring ENABLE_MATHML,$(FEATURE_DEFINES)), ENABLE_MATHML) 748 USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/mathml.css 749 endif 750 751 ifeq ($(findstring ENABLE_VIDEO,$(FEATURE_DEFINES)), ENABLE_VIDEO) 752 USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/mediaControls.css 753 USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/mediaControlsQuickTime.css 754 endif 755 756 ifeq ($(findstring ENABLE_FULLSCREEN_API,$(FEATURE_DEFINES)), ENABLE_FULLSCREEN_API) 757 USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/fullscreen.css $(WebCore)/css/fullscreenQuickTime.css 758 endif 759 760 UserAgentStyleSheets.h : css/make-css-file-arrays.pl $(USER_AGENT_STYLE_SHEETS) 761 perl $< $@ UserAgentStyleSheetsData.cpp $(USER_AGENT_STYLE_SHEETS) 762 763 # -------- 764 765 # HTML tag and attribute names 766 767 ifeq ($(findstring ENABLE_DATALIST,$(FEATURE_DEFINES)), ENABLE_DATALIST) 768 HTML_FLAGS := $(HTML_FLAGS) ENABLE_DATALIST=1 769 endif 770 771 ifeq ($(findstring ENABLE_METER_TAG,$(FEATURE_DEFINES)), ENABLE_METER_TAG) 772 HTML_FLAGS := $(HTML_FLAGS) ENABLE_METER_TAG=1 773 endif 774 775 ifeq ($(findstring ENABLE_PROGRESS_TAG,$(FEATURE_DEFINES)), ENABLE_PROGRESS_TAG) 776 HTML_FLAGS := $(HTML_FLAGS) ENABLE_PROGRESS_TAG=1 777 endif 778 779 ifeq ($(findstring ENABLE_VIDEO,$(FEATURE_DEFINES)), ENABLE_VIDEO) 780 HTML_FLAGS := $(HTML_FLAGS) ENABLE_VIDEO=1 781 endif 782 783 ifeq ($(findstring ENABLE_VIDEO_TRACK,$(FEATURE_DEFINES)), ENABLE_VIDEO_TRACK) 784 HTML_FLAGS := $(HTML_FLAGS) ENABLE_VIDEO_TRACK=0 785 endif 786 787 ifdef HTML_FLAGS 788 789 HTMLElementFactory.cpp HTMLNames.cpp : dom/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in 790 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --factory --wrapperFactory --extraDefines "$(HTML_FLAGS)" 791 792 else 793 794 HTMLElementFactory.cpp HTMLNames.cpp : dom/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in 795 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --factory --wrapperFactory 796 797 endif 798 799 JSHTMLElementWrapperFactory.cpp : HTMLNames.cpp 800 801 XMLNSNames.cpp : dom/make_names.pl xml/xmlnsattrs.in 802 perl -I $(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlnsattrs.in 803 804 XMLNames.cpp : dom/make_names.pl xml/xmlattrs.in 805 perl -I $(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlattrs.in 806 807 # -------- 808 809 # SVG tag and attribute names, and element factory 810 811 ifeq ($(findstring ENABLE_SVG_USE,$(FEATURE_DEFINES)), ENABLE_SVG_USE) 812 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_USE=1 813 endif 814 815 ifeq ($(findstring ENABLE_SVG_FONTS,$(FEATURE_DEFINES)), ENABLE_SVG_FONTS) 816 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_FONTS=1 817 endif 818 819 ifeq ($(findstring ENABLE_FILTERS,$(FEATURE_DEFINES)), ENABLE_FILTERS) 820 SVG_FLAGS := $(SVG_FLAGS) ENABLE_FILTERS=1 821 endif 822 823 ifeq ($(findstring ENABLE_SVG_AS_IMAGE,$(FEATURE_DEFINES)), ENABLE_SVG_AS_IMAGE) 824 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_AS_IMAGE=1 825 endif 826 827 ifeq ($(findstring ENABLE_SVG_ANIMATION,$(FEATURE_DEFINES)), ENABLE_SVG_ANIMATION) 828 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_ANIMATION=1 829 endif 830 831 ifeq ($(findstring ENABLE_SVG_FOREIGN_OBJECT,$(FEATURE_DEFINES)), ENABLE_SVG_FOREIGN_OBJECT) 832 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_FOREIGN_OBJECT=1 833 endif 834 835 # SVG tag and attribute names (need to pass an extra flag if svg experimental features are enabled) 836 837 ifdef SVG_FLAGS 838 839 SVGElementFactory.cpp SVGNames.cpp : dom/make_names.pl svg/svgtags.in svg/svgattrs.in 840 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/svg/svgtags.in --attrs $(WebCore)/svg/svgattrs.in --extraDefines "$(SVG_FLAGS)" --factory --wrapperFactory 841 else 842 843 SVGElementFactory.cpp SVGNames.cpp : dom/make_names.pl svg/svgtags.in svg/svgattrs.in 844 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/svg/svgtags.in --attrs $(WebCore)/svg/svgattrs.in --factory --wrapperFactory 845 846 endif 847 848 JSSVGElementWrapperFactory.cpp : SVGNames.cpp 849 850 XLinkNames.cpp : dom/make_names.pl svg/xlinkattrs.in 851 perl -I $(WebCore)/bindings/scripts $< --attrs $(WebCore)/svg/xlinkattrs.in 852 853 # -------- 854 855 # WML tag and attribute names, and element factory 856 857 ifeq ($(findstring ENABLE_WML,$(FEATURE_DEFINES)), ENABLE_WML) 858 859 WMLElementFactory.cpp WMLNames.cpp : dom/make_names.pl wml/WMLTagNames.in wml/WMLAttributeNames.in 860 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/wml/WMLTagNames.in --attrs $(WebCore)/wml/WMLAttributeNames.in --factory --wrapperFactory 861 862 else 863 864 WMLElementFactory.cpp : 865 echo > $@ 866 867 WMLNames.cpp : 868 echo > $@ 869 870 endif 871 872 # -------- 873 874 # MathML tag and attribute names, and element factory 875 876 MathMLElementFactory.cpp MathMLNames.cpp : dom/make_names.pl mathml/mathtags.in mathml/mathattrs.in 877 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/mathml/mathtags.in --attrs $(WebCore)/mathml/mathattrs.in --factory --wrapperFactory 878 879 # -------- 880 881 # Common generator things 882 883 GENERATE_SCRIPTS = \ 884 bindings/scripts/CodeGenerator.pm \ 885 bindings/scripts/IDLParser.pm \ 886 bindings/scripts/IDLStructure.pm \ 887 bindings/scripts/generate-bindings.pl 888 889 generator_script = perl $(addprefix -I $(WebCore)/, $(sort $(dir $(1)))) $(WebCore)/bindings/scripts/generate-bindings.pl 890 891 # JS bindings generator 892 893 IDL_INCLUDES = \ 894 $(WebCore)/dom \ 895 $(WebCore)/fileapi \ 896 $(WebCore)/html \ 897 $(WebCore)/css \ 898 $(WebCore)/page \ 899 $(WebCore)/notifications \ 900 $(WebCore)/xml \ 901 $(WebCore)/svg 902 903 IDL_COMMON_ARGS = $(IDL_INCLUDES:%=--include %) --write-dependencies --outputDir . 904 905 JS_BINDINGS_SCRIPTS = $(GENERATE_SCRIPTS) bindings/scripts/CodeGeneratorJS.pm 906 907 JS%.h : %.idl $(JS_BINDINGS_SCRIPTS) 908 $(call generator_script, $(JS_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS $< 909 910 # Inspector interfaces generator 911 912 Inspector.idl : Inspector.json inspector/generate-inspector-idl 913 python $(WebCore)/inspector/generate-inspector-idl -o Inspector.idl $(WebCore)/inspector/Inspector.json 914 915 all : InspectorFrontend.h 916 917 INSPECTOR_GENERATOR_SCRIPTS = $(GENERATE_SCRIPTS) inspector/CodeGeneratorInspector.pm 918 919 InspectorFrontend.h : Inspector.idl $(INSPECTOR_GENERATOR_SCRIPTS) 920 $(call generator_script, $(INSPECTOR_GENERATOR_SCRIPTS)) --outputDir . --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator Inspector $< 921 922 all : InjectedScriptSource.h 923 924 InjectedScriptSource.h : InjectedScriptSource.js 925 perl $(WebCore)/inspector/xxd.pl InjectedScriptSource_js $(WebCore)/inspector/InjectedScriptSource.js InjectedScriptSource.h 926 927 -include $(JS_DOM_HEADERS:.h=.dep) 928 929 ifeq ($(findstring BUILDING_WX,$(FEATURE_DEFINES)), BUILDING_WX) 930 CPP_BINDINGS_SCRIPTS = $(GENERATE_SCRIPTS) bindings/scripts/CodeGeneratorCPP.pm 931 932 WebDOM%.h : %.idl $(CPP_BINDINGS_SCRIPTS) 933 $(call generator_script, $(CPP_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_CPP" --generator CPP $< 934 endif # BUILDING_WX 935 936 # ------------------------ 937 938 # Mac-specific rules 939 940 ifeq ($(OS),MACOS) 941 942 OBJC_DOM_HEADERS=$(filter-out DOMDOMWindow.h DOMDOMMimeType.h DOMDOMPlugin.h,$(DOM_CLASSES:%=DOM%.h)) 943 944 all : $(OBJC_DOM_HEADERS) 945 946 all : CharsetData.cpp 947 948 # -------- 949 950 # character set name table 951 952 CharsetData.cpp : platform/text/mac/make-charset-table.pl platform/text/mac/character-sets.txt platform/text/mac/mac-encodings.txt 953 perl $^ kTextEncoding > $@ 954 955 # -------- 956 957 ifneq ($(ACTION),installhdrs) 958 959 all : WebCore.exp WebCore.LP64.exp 960 961 WebCore.exp : $(BUILT_PRODUCTS_DIR)/WebCoreExportFileGenerator 962 $^ > $@ 963 964 # Switch NSRect, NSSize and NSPoint with their CG counterparts for the 64-bit exports file. 965 WebCore.LP64.exp : WebCore.exp 966 cat $^ | sed -e s/7_NSRect/6CGRect/ -e s/7_NSSize/6CGSize/ -e s/8_NSPoint/7CGPoint/ > $@ 967 968 endif # installhdrs 969 970 # -------- 971 972 # Objective-C bindings 973 974 DOM_BINDINGS_SCRIPTS = $(GENERATE_BINDING_SCRIPTS) bindings/scripts/CodeGeneratorObjC.pm 975 DOM%.h : %.idl $(DOM_BINDINGS_SCRIPTS) bindings/objc/PublicDOMInterfaces.h 976 $(call generator_script, $(DOM_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_OBJECTIVE_C" --generator ObjC $< 977 978 -include $(OBJC_DOM_HEADERS:.h=.dep) 979 980 # -------- 981 982 endif # MACOS 983