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 29VPATH = \ 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 53DOM_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 554JS_DOM_HEADERS=$(filter-out JSMediaQueryListListener.h JSEventListener.h JSEventTarget.h,$(DOM_CLASSES:%=JS%.h)) 555 556WEB_DOM_HEADERS := 557ifeq ($(findstring BUILDING_WX,$(FEATURE_DEFINES)), BUILDING_WX) 558WEB_DOM_HEADERS := $(filter-out WebDOMXSLTProcessor.h WebDOMEventTarget.h,$(DOM_CLASSES:%=WebDOM%.h)) 559endif # BUILDING_WX 560 561all : \ 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 592ADDITIONAL_IDL_DEFINES := 593 594ifeq ($(OS),MACOS) 595 596FRAMEWORK_FLAGS = $(shell echo $(BUILT_PRODUCTS_DIR) $(FRAMEWORK_SEARCH_PATHS) | perl -e 'print "-F " . join(" -F ", split(" ", <>));') 597 598ifeq ($(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 600else 601 ENABLE_DASHBOARD_SUPPORT = 0 602endif 603 604ifeq ($(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 606else 607 ENABLE_ORIENTATION_EVENTS = 0 608endif 609 610else 611 612ifndef ENABLE_DASHBOARD_SUPPORT 613 ENABLE_DASHBOARD_SUPPORT = 0 614endif 615 616ifndef ENABLE_ORIENTATION_EVENTS 617 ENABLE_ORIENTATION_EVENTS = 0 618endif 619 620endif # MACOS 621 622ifeq ($(ENABLE_ORIENTATION_EVENTS), 1) 623 ADDITIONAL_IDL_DEFINES := $(ADDITIONAL_IDL_DEFINES) ENABLE_ORIENTATION_EVENTS 624endif 625 626# -------- 627 628# CSS property names and value keywords 629 630WEBCORE_CSS_PROPERTY_NAMES := $(WebCore)/css/CSSPropertyNames.in 631WEBCORE_CSS_VALUE_KEYWORDS := $(WebCore)/css/CSSValueKeywords.in 632 633ifeq ($(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 636endif 637 638ifeq ($(ENABLE_DASHBOARD_SUPPORT), 1) 639 WEBCORE_CSS_PROPERTY_NAMES := $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/DashboardSupportCSSPropertyNames.in 640endif 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. 646CSSPropertyNames.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 651CSSValueKeywords.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 661DocTypeStrings.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 668all : XMLViewerCSS.h 669 670XMLViewerCSS.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 677all : XMLViewerJS.h 678 679XMLViewerJS.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 686HTMLEntityTable.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 693ColorData.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 700tokenizer.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 708CSSGrammar.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 723XPathGrammar.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 737USER_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 739ifeq ($(findstring ENABLE_SVG,$(FEATURE_DEFINES)), ENABLE_SVG) 740 USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/svg.css 741endif 742 743ifeq ($(findstring ENABLE_WML,$(FEATURE_DEFINES)), ENABLE_WML) 744 USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/wml.css 745endif 746 747ifeq ($(findstring ENABLE_MATHML,$(FEATURE_DEFINES)), ENABLE_MATHML) 748 USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/mathml.css 749endif 750 751ifeq ($(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 754endif 755 756ifeq ($(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 758endif 759 760UserAgentStyleSheets.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 767ifeq ($(findstring ENABLE_DATALIST,$(FEATURE_DEFINES)), ENABLE_DATALIST) 768 HTML_FLAGS := $(HTML_FLAGS) ENABLE_DATALIST=1 769endif 770 771ifeq ($(findstring ENABLE_METER_TAG,$(FEATURE_DEFINES)), ENABLE_METER_TAG) 772 HTML_FLAGS := $(HTML_FLAGS) ENABLE_METER_TAG=1 773endif 774 775ifeq ($(findstring ENABLE_PROGRESS_TAG,$(FEATURE_DEFINES)), ENABLE_PROGRESS_TAG) 776 HTML_FLAGS := $(HTML_FLAGS) ENABLE_PROGRESS_TAG=1 777endif 778 779ifeq ($(findstring ENABLE_VIDEO,$(FEATURE_DEFINES)), ENABLE_VIDEO) 780 HTML_FLAGS := $(HTML_FLAGS) ENABLE_VIDEO=1 781endif 782 783ifeq ($(findstring ENABLE_VIDEO_TRACK,$(FEATURE_DEFINES)), ENABLE_VIDEO_TRACK) 784 HTML_FLAGS := $(HTML_FLAGS) ENABLE_VIDEO_TRACK=0 785endif 786 787ifdef HTML_FLAGS 788 789HTMLElementFactory.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 792else 793 794HTMLElementFactory.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 797endif 798 799JSHTMLElementWrapperFactory.cpp : HTMLNames.cpp 800 801XMLNSNames.cpp : dom/make_names.pl xml/xmlnsattrs.in 802 perl -I $(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlnsattrs.in 803 804XMLNames.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 811ifeq ($(findstring ENABLE_SVG_USE,$(FEATURE_DEFINES)), ENABLE_SVG_USE) 812 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_USE=1 813endif 814 815ifeq ($(findstring ENABLE_SVG_FONTS,$(FEATURE_DEFINES)), ENABLE_SVG_FONTS) 816 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_FONTS=1 817endif 818 819ifeq ($(findstring ENABLE_FILTERS,$(FEATURE_DEFINES)), ENABLE_FILTERS) 820 SVG_FLAGS := $(SVG_FLAGS) ENABLE_FILTERS=1 821endif 822 823ifeq ($(findstring ENABLE_SVG_AS_IMAGE,$(FEATURE_DEFINES)), ENABLE_SVG_AS_IMAGE) 824 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_AS_IMAGE=1 825endif 826 827ifeq ($(findstring ENABLE_SVG_ANIMATION,$(FEATURE_DEFINES)), ENABLE_SVG_ANIMATION) 828 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_ANIMATION=1 829endif 830 831ifeq ($(findstring ENABLE_SVG_FOREIGN_OBJECT,$(FEATURE_DEFINES)), ENABLE_SVG_FOREIGN_OBJECT) 832 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_FOREIGN_OBJECT=1 833endif 834 835# SVG tag and attribute names (need to pass an extra flag if svg experimental features are enabled) 836 837ifdef SVG_FLAGS 838 839SVGElementFactory.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 841else 842 843SVGElementFactory.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 846endif 847 848JSSVGElementWrapperFactory.cpp : SVGNames.cpp 849 850XLinkNames.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 857ifeq ($(findstring ENABLE_WML,$(FEATURE_DEFINES)), ENABLE_WML) 858 859WMLElementFactory.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 862else 863 864WMLElementFactory.cpp : 865 echo > $@ 866 867WMLNames.cpp : 868 echo > $@ 869 870endif 871 872# -------- 873 874# MathML tag and attribute names, and element factory 875 876MathMLElementFactory.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 883GENERATE_SCRIPTS = \ 884 bindings/scripts/CodeGenerator.pm \ 885 bindings/scripts/IDLParser.pm \ 886 bindings/scripts/IDLStructure.pm \ 887 bindings/scripts/generate-bindings.pl 888 889generator_script = perl $(addprefix -I $(WebCore)/, $(sort $(dir $(1)))) $(WebCore)/bindings/scripts/generate-bindings.pl 890 891# JS bindings generator 892 893IDL_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 903IDL_COMMON_ARGS = $(IDL_INCLUDES:%=--include %) --write-dependencies --outputDir . 904 905JS_BINDINGS_SCRIPTS = $(GENERATE_SCRIPTS) bindings/scripts/CodeGeneratorJS.pm 906 907JS%.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 912Inspector.idl : Inspector.json inspector/generate-inspector-idl 913 python $(WebCore)/inspector/generate-inspector-idl -o Inspector.idl $(WebCore)/inspector/Inspector.json 914 915all : InspectorFrontend.h 916 917INSPECTOR_GENERATOR_SCRIPTS = $(GENERATE_SCRIPTS) inspector/CodeGeneratorInspector.pm 918 919InspectorFrontend.h : Inspector.idl $(INSPECTOR_GENERATOR_SCRIPTS) 920 $(call generator_script, $(INSPECTOR_GENERATOR_SCRIPTS)) --outputDir . --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator Inspector $< 921 922all : InjectedScriptSource.h 923 924InjectedScriptSource.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 929ifeq ($(findstring BUILDING_WX,$(FEATURE_DEFINES)), BUILDING_WX) 930CPP_BINDINGS_SCRIPTS = $(GENERATE_SCRIPTS) bindings/scripts/CodeGeneratorCPP.pm 931 932WebDOM%.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 $< 934endif # BUILDING_WX 935 936# ------------------------ 937 938# Mac-specific rules 939 940ifeq ($(OS),MACOS) 941 942OBJC_DOM_HEADERS=$(filter-out DOMDOMWindow.h DOMDOMMimeType.h DOMDOMPlugin.h,$(DOM_CLASSES:%=DOM%.h)) 943 944all : $(OBJC_DOM_HEADERS) 945 946all : CharsetData.cpp 947 948# -------- 949 950# character set name table 951 952CharsetData.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 957ifneq ($(ACTION),installhdrs) 958 959all : WebCore.exp WebCore.LP64.exp 960 961WebCore.exp : $(BUILT_PRODUCTS_DIR)/WebCoreExportFileGenerator 962 $^ > $@ 963 964# Switch NSRect, NSSize and NSPoint with their CG counterparts for the 64-bit exports file. 965WebCore.LP64.exp : WebCore.exp 966 cat $^ | sed -e s/7_NSRect/6CGRect/ -e s/7_NSSize/6CGSize/ -e s/8_NSPoint/7CGPoint/ > $@ 967 968endif # installhdrs 969 970# -------- 971 972# Objective-C bindings 973 974DOM_BINDINGS_SCRIPTS = $(GENERATE_BINDING_SCRIPTS) bindings/scripts/CodeGeneratorObjC.pm 975DOM%.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 982endif # MACOS 983