WebCore/DerivedSources.make
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     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 # ------------------------