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