initial import
[vuplus_webkit] / 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     MutationEvent \
301     NamedNodeMap \
302     Navigator \
303     NavigatorUserMediaError \
304     NavigatorUserMediaErrorCallback \
305     NavigatorUserMediaSuccessCallback \
306     Node \
307     NodeFilter \
308     NodeIterator \
309     NodeList \
310     Notation \
311     Notification \
312     NotificationCenter \
313     OESStandardDerivatives \
314     OESTextureFloat \
315     OESVertexArrayObject \
316     OfflineAudioCompletionEvent \
317     OperationNotAllowedException \
318     OverflowEvent \
319     PageTransitionEvent \
320     PeerConnection \
321     Performance \
322     PerformanceNavigation \
323     PerformanceTiming \
324     PopStateEvent \
325     PositionCallback \
326     PositionError \
327     PositionErrorCallback \
328     ProcessingInstruction \
329     ProgressEvent \
330     RGBColor \
331     Range \
332     RangeException \
333     RealtimeAnalyserNode \
334     Rect \
335     RequestAnimationFrameCallback \
336     SQLError \
337     SQLException \
338     SQLResultSet \
339     SQLResultSetRowList \
340     SQLStatementCallback \
341     SQLStatementErrorCallback \
342     SQLTransaction \
343     SQLTransactionCallback \
344     SQLTransactionErrorCallback \
345     SQLTransactionSync \
346     SQLTransactionSyncCallback \
347     SVGAElement \
348     SVGAltGlyphDefElement \
349     SVGAltGlyphElement \
350     SVGAltGlyphItemElement \
351     SVGAngle \
352     SVGAnimateColorElement \
353     SVGAnimateElement \
354     SVGAnimateMotionElement \
355     SVGAnimateTransformElement \
356     SVGAnimatedAngle \
357     SVGAnimatedBoolean \
358     SVGAnimatedEnumeration \
359     SVGAnimatedInteger \
360     SVGAnimatedLength \
361     SVGAnimatedLengthList \
362     SVGAnimatedNumber \
363     SVGAnimatedNumberList \
364     SVGAnimatedPreserveAspectRatio \
365     SVGAnimatedRect \
366     SVGAnimatedString \
367     SVGAnimatedTransformList \
368     SVGAnimationElement \
369     SVGCircleElement \
370     SVGClipPathElement \
371     SVGColor \
372     SVGComponentTransferFunctionElement \
373     SVGCursorElement \
374     SVGDefsElement \
375     SVGDescElement \
376     SVGDocument \
377     SVGElement \
378     SVGElementInstance \
379     SVGElementInstanceList \
380     SVGEllipseElement \
381     SVGException \
382     SVGExternalResourcesRequired \
383     SVGFEBlendElement \
384     SVGFEColorMatrixElement \
385     SVGFEComponentTransferElement \
386     SVGFECompositeElement \
387     SVGFEConvolveMatrixElement \
388     SVGFEDiffuseLightingElement \
389     SVGFEDisplacementMapElement \
390     SVGFEDistantLightElement \
391     SVGFEDropShadowElement \
392     SVGFEFloodElement \
393     SVGFEFuncAElement \
394     SVGFEFuncBElement \
395     SVGFEFuncGElement \
396     SVGFEFuncRElement \
397     SVGFEGaussianBlurElement \
398     SVGFEImageElement \
399     SVGFEMergeElement \
400     SVGFEMergeNodeElement \
401     SVGFEMorphologyElement \
402     SVGFEOffsetElement \
403     SVGFEPointLightElement \
404     SVGFESpecularLightingElement \
405     SVGFESpotLightElement \
406     SVGFETileElement \
407     SVGFETurbulenceElement \
408     SVGFilterElement \
409     SVGFilterPrimitiveStandardAttributes \
410     SVGFitToViewBox \
411     SVGFontElement \
412     SVGFontFaceElement \
413     SVGFontFaceFormatElement \
414     SVGFontFaceNameElement \
415     SVGFontFaceSrcElement \
416     SVGFontFaceUriElement \
417     SVGForeignObjectElement \
418     SVGGElement \
419     SVGGlyphElement \
420     SVGGlyphRefElement \
421     SVGGradientElement \
422     SVGHKernElement \
423     SVGImageElement \
424     SVGLangSpace \
425     SVGLength \
426     SVGLengthList \
427     SVGLineElement \
428     SVGLinearGradientElement \
429     SVGLocatable \
430     SVGMPathElement \
431     SVGMarkerElement \
432     SVGMaskElement \
433     SVGMatrix \
434     SVGMetadataElement \
435     SVGMissingGlyphElement \
436     SVGNumber \
437     SVGNumberList \
438     SVGPaint \
439     SVGPathElement \
440     SVGPathSeg \
441     SVGPathSegArcAbs \
442     SVGPathSegArcRel \
443     SVGPathSegClosePath \
444     SVGPathSegCurvetoCubicAbs \
445     SVGPathSegCurvetoCubicRel \
446     SVGPathSegCurvetoCubicSmoothAbs \
447     SVGPathSegCurvetoCubicSmoothRel \
448     SVGPathSegCurvetoQuadraticAbs \
449     SVGPathSegCurvetoQuadraticRel \
450     SVGPathSegCurvetoQuadraticSmoothAbs \
451     SVGPathSegCurvetoQuadraticSmoothRel \
452     SVGPathSegLinetoAbs \
453     SVGPathSegLinetoHorizontalAbs \
454     SVGPathSegLinetoHorizontalRel \
455     SVGPathSegLinetoRel \
456     SVGPathSegLinetoVerticalAbs \
457     SVGPathSegLinetoVerticalRel \
458     SVGPathSegList \
459     SVGPathSegMovetoAbs \
460     SVGPathSegMovetoRel \
461     SVGPatternElement \
462     SVGPoint \
463     SVGPointList \
464     SVGPolygonElement \
465     SVGPolylineElement \
466     SVGPreserveAspectRatio \
467     SVGRadialGradientElement \
468     SVGRect \
469     SVGRectElement \
470     SVGRenderingIntent \
471     SVGSVGElement \
472     SVGScriptElement \
473     SVGSetElement \
474     SVGStopElement \
475     SVGStringList \
476     SVGStylable \
477     SVGStyleElement \
478     SVGSwitchElement \
479     SVGSymbolElement \
480     SVGTRefElement \
481     SVGTSpanElement \
482     SVGTests \
483     SVGTextContentElement \
484     SVGTextElement \
485     SVGTextPathElement \
486     SVGTextPositioningElement \
487     SVGTitleElement \
488     SVGTransform \
489     SVGTransformList \
490     SVGTransformable \
491     SVGURIReference \
492     SVGUnitTypes \
493     SVGUseElement \
494     SVGVKernElement \
495     SVGViewElement \
496     SVGZoomAndPan \
497     SVGZoomEvent \
498     Screen \
499     ScriptProfile \
500     ScriptProfileNode \
501     SharedWorker \
502     SharedWorkerContext \
503     SignalingCallback \
504     SpeechInputEvent \
505     SpeechInputResult \
506     SpeechInputResultList \
507     Storage \
508     StorageEvent \
509     StorageInfo \
510     StorageInfoErrorCallback \
511     StorageInfoQuotaCallback \
512     StorageInfoUsageCallback \
513     StringCallback \
514     StringCallback \
515     StyleMedia \
516     StyleSheet \
517     StyleSheetList \
518     Text \
519     TextEvent \
520     TextMetrics \
521     TimeRanges \
522     Touch \
523     TouchEvent \
524     TouchList \
525     TreeWalker \
526     UIEvent \
527     Uint16Array \
528     Uint32Array \
529     Uint8Array \
530     ValidityState \
531     WaveShaperNode \
532     WebGLActiveInfo \
533     WebGLBuffer \
534     WebGLContextAttributes \
535     WebGLContextEvent \
536     WebGLFramebuffer \
537     WebGLProgram \
538     WebGLRenderbuffer \
539     WebGLRenderingContext \
540     WebGLShader \
541     WebGLTexture \
542     WebGLUniformLocation \
543     WebGLVertexArrayObjectOES \
544     WebKitAnimation \
545     WebKitAnimationEvent \
546     WebKitAnimationList \
547     WebKitBlobBuilder \
548     WebKitCSSKeyframeRule \
549     WebKitCSSKeyframesRule \
550     WebKitCSSMatrix \
551     WebKitCSSTransformValue \
552     WebKitFlags \
553     WebKitLoseContext \
554     WebKitPoint \
555     WebKitTransitionEvent \
556     WebSocket \
557     WheelEvent \
558     Worker \
559     WorkerContext \
560     WorkerLocation \
561     WorkerNavigator \
562     XMLHttpRequest \
563     XMLHttpRequestException \
564     XMLHttpRequestProgressEvent \
565     XMLHttpRequestUpload \
566     XMLSerializer \
567     XPathEvaluator \
568     XPathException \
569     XPathExpression \
570     XPathNSResolver \
571     XPathResult \
572     XSLTProcessor \
573 #
574
575 .PHONY : all
576
577 JS_DOM_HEADERS=$(filter-out JSMediaQueryListListener.h JSEventListener.h JSEventTarget.h,$(DOM_CLASSES:%=JS%.h))
578
579 WEB_DOM_HEADERS :=
580 ifeq ($(findstring BUILDING_WX,$(FEATURE_DEFINES)), BUILDING_WX)
581 WEB_DOM_HEADERS := $(filter-out WebDOMXSLTProcessor.h WebDOMEventTarget.h,$(DOM_CLASSES:%=WebDOM%.h))
582 endif # BUILDING_WX
583
584 all : \
585     $(JS_DOM_HEADERS) \
586     $(WEB_DOM_HEADERS) \
587     \
588     JSJavaScriptCallFrame.h \
589     \
590     CSSGrammar.cpp \
591     CSSPropertyNames.h \
592     CSSValueKeywords.h \
593     ColorData.cpp \
594     HTMLElementFactory.cpp \
595     HTMLEntityTable.cpp \
596     HTMLNames.cpp \
597     JSSVGElementWrapperFactory.cpp \
598     SVGElementFactory.cpp \
599     SVGNames.cpp \
600     UserAgentStyleSheets.h \
601     WebKitFontFamilyNames.cpp \
602     WebKitFontFamilyNames.h \
603     XLinkNames.cpp \
604     XMLNSNames.cpp \
605     XMLNames.cpp \
606     MathMLElementFactory.cpp \
607     MathMLNames.cpp \
608     XPathGrammar.cpp \
609     tokenizer.cpp \
610 #
611
612 # --------
613
614 ADDITIONAL_IDL_DEFINES :=
615
616 ifeq ($(OS),MACOS)
617
618 FRAMEWORK_FLAGS = $(shell echo $(BUILT_PRODUCTS_DIR) $(FRAMEWORK_SEARCH_PATHS) | perl -e 'print "-F " . join(" -F ", split(" ", <>));')
619
620 ifeq ($(shell gcc -E -P -dM $(FRAMEWORK_FLAGS) WebCore/ForwardingHeaders/wtf/Platform.h | grep ENABLE_DASHBOARD_SUPPORT | cut -d' ' -f3), 1)
621     ENABLE_DASHBOARD_SUPPORT = 1
622 else
623     ENABLE_DASHBOARD_SUPPORT = 0
624 endif
625
626 ifeq ($(shell gcc -E -P -dM $(FRAMEWORK_FLAGS) WebCore/ForwardingHeaders/wtf/Platform.h | grep ENABLE_ORIENTATION_EVENTS | cut -d' ' -f3), 1)
627     ENABLE_ORIENTATION_EVENTS = 1
628 else
629     ENABLE_ORIENTATION_EVENTS = 0
630 endif
631
632 else
633
634 ifndef ENABLE_DASHBOARD_SUPPORT
635     ENABLE_DASHBOARD_SUPPORT = 0
636 endif
637
638 ifndef ENABLE_ORIENTATION_EVENTS
639     ENABLE_ORIENTATION_EVENTS = 0
640 endif
641
642 endif # MACOS
643
644 ifeq ($(ENABLE_ORIENTATION_EVENTS), 1)
645     ADDITIONAL_IDL_DEFINES := $(ADDITIONAL_IDL_DEFINES) ENABLE_ORIENTATION_EVENTS
646 endif
647
648 # --------
649
650 # CSS property names and value keywords
651
652 WEBCORE_CSS_PROPERTY_NAMES := $(WebCore)/css/CSSPropertyNames.in
653 WEBCORE_CSS_VALUE_KEYWORDS := $(WebCore)/css/CSSValueKeywords.in
654
655 ifeq ($(findstring ENABLE_SVG,$(FEATURE_DEFINES)), ENABLE_SVG)
656     WEBCORE_CSS_PROPERTY_NAMES := $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/SVGCSSPropertyNames.in
657     WEBCORE_CSS_VALUE_KEYWORDS := $(WEBCORE_CSS_VALUE_KEYWORDS) $(WebCore)/css/SVGCSSValueKeywords.in
658 endif
659
660 ifeq ($(ENABLE_DASHBOARD_SUPPORT), 1)
661     WEBCORE_CSS_PROPERTY_NAMES := $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/DashboardSupportCSSPropertyNames.in
662 endif
663
664 CSSPropertyNames.h : $(WEBCORE_CSS_PROPERTY_NAMES) css/makeprop.pl
665         cat $(WEBCORE_CSS_PROPERTY_NAMES) > CSSPropertyNames.in
666         perl -I$(WebCore)/bindings/scripts "$(WebCore)/css/makeprop.pl" --defines "$(FEATURE_DEFINES)"
667
668 CSSValueKeywords.h : $(WEBCORE_CSS_VALUE_KEYWORDS) css/makevalues.pl
669         cat $(WEBCORE_CSS_VALUE_KEYWORDS) > CSSValueKeywords.in
670         perl -I$(WebCore)/bindings/scripts "$(WebCore)/css/makevalues.pl" --defines "$(FEATURE_DEFINES)"
671
672 # --------
673
674 # XMLViewer CSS
675
676 all : XMLViewerCSS.h
677
678 XMLViewerCSS.h : xml/XMLViewer.css
679         perl $(WebCore)/inspector/xxd.pl XMLViewer_css $(WebCore)/xml/XMLViewer.css XMLViewerCSS.h
680
681 # --------
682
683 # XMLViewer JS
684
685 all : XMLViewerJS.h
686
687 XMLViewerJS.h : xml/XMLViewer.js
688         perl $(WebCore)/inspector/xxd.pl XMLViewer_js $(WebCore)/xml/XMLViewer.js XMLViewerJS.h
689
690 # --------
691
692 # HTML entity names
693
694 HTMLEntityTable.cpp : html/parser/HTMLEntityNames.in $(WebCore)/html/parser/create-html-entity-table
695         python $(WebCore)/html/parser/create-html-entity-table -o HTMLEntityTable.cpp $(WebCore)/html/parser/HTMLEntityNames.in
696
697 # --------
698
699 # color names
700
701 ColorData.cpp : platform/ColorData.gperf $(WebCore)/make-hash-tools.pl
702         perl $(WebCore)/make-hash-tools.pl . $(WebCore)/platform/ColorData.gperf
703
704 # --------
705
706 # CSS tokenizer
707
708 tokenizer.cpp : css/tokenizer.flex css/maketokenizer
709         flex -t $< | perl $(WebCore)/css/maketokenizer > $@
710
711 # --------
712
713 # CSS grammar
714 # NOTE: Older versions of bison do not inject an inclusion guard, so we add one.
715
716 CSSGrammar.cpp : css/CSSGrammar.y
717         bison -d -p cssyy $< -o $@
718         touch CSSGrammar.cpp.h
719         touch CSSGrammar.hpp
720         echo '#ifndef CSSGrammar_h' > CSSGrammar.h
721         echo '#define CSSGrammar_h' >> CSSGrammar.h
722         cat CSSGrammar.cpp.h CSSGrammar.hpp >> CSSGrammar.h
723         echo '#endif' >> CSSGrammar.h
724         rm -f CSSGrammar.cpp.h CSSGrammar.hpp
725
726 # --------
727
728 # XPath grammar
729 # NOTE: Older versions of bison do not inject an inclusion guard, so we add one.
730
731 XPathGrammar.cpp : xml/XPathGrammar.y $(PROJECT_FILE)
732         bison -d -p xpathyy $< -o $@
733         touch XPathGrammar.cpp.h
734         touch XPathGrammar.hpp
735         echo '#ifndef XPathGrammar_h' > XPathGrammar.h
736         echo '#define XPathGrammar_h' >> XPathGrammar.h
737         cat XPathGrammar.cpp.h XPathGrammar.hpp >> XPathGrammar.h
738         echo '#endif' >> XPathGrammar.h
739         rm -f XPathGrammar.cpp.h XPathGrammar.hpp
740
741 # --------
742
743 # user agent style sheets
744
745 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 
746
747 ifeq ($(findstring ENABLE_SVG,$(FEATURE_DEFINES)), ENABLE_SVG)
748     USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/svg.css 
749 endif
750
751 ifeq ($(findstring ENABLE_MATHML,$(FEATURE_DEFINES)), ENABLE_MATHML)
752     USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/mathml.css
753 endif
754
755 ifeq ($(findstring ENABLE_VIDEO,$(FEATURE_DEFINES)), ENABLE_VIDEO)
756     USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/mediaControls.css
757     USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/mediaControlsQuickTime.css
758 endif
759
760 ifeq ($(findstring ENABLE_FULLSCREEN_API,$(FEATURE_DEFINES)), ENABLE_FULLSCREEN_API)
761     USER_AGENT_STYLE_SHEETS := $(USER_AGENT_STYLE_SHEETS) $(WebCore)/css/fullscreen.css $(WebCore)/css/fullscreenQuickTime.css
762 endif
763
764 UserAgentStyleSheets.h : css/make-css-file-arrays.pl bindings/scripts/preprocessor.pm $(USER_AGENT_STYLE_SHEETS)
765         perl -I$(WebCore)/bindings/scripts $< --defines "$(FEATURE_DEFINES)" $@ UserAgentStyleSheetsData.cpp $(USER_AGENT_STYLE_SHEETS)
766
767 # --------
768
769 WebKitFontFamilyNames.cpp WebKitFontFamilyNames.h : dom/make_names.pl css/WebKitFontFamilyNames.in
770         perl -I $(WebCore)/bindings/scripts $< --fonts $(WebCore)/css/WebKitFontFamilyNames.in
771
772 # HTML tag and attribute names
773
774 ifeq ($(findstring ENABLE_DATALIST,$(FEATURE_DEFINES)), ENABLE_DATALIST)
775     HTML_FLAGS := $(HTML_FLAGS) ENABLE_DATALIST=1
776 endif
777
778 ifeq ($(findstring ENABLE_DETAILS,$(FEATURE_DEFINES)), ENABLE_DETAILS)
779     HTML_FLAGS := $(HTML_FLAGS) ENABLE_DETAILS=1
780 endif
781
782 ifeq ($(findstring ENABLE_METER_TAG,$(FEATURE_DEFINES)), ENABLE_METER_TAG)
783     HTML_FLAGS := $(HTML_FLAGS) ENABLE_METER_TAG=1
784 endif
785
786 ifeq ($(findstring ENABLE_PROGRESS_TAG,$(FEATURE_DEFINES)), ENABLE_PROGRESS_TAG)
787     HTML_FLAGS := $(HTML_FLAGS) ENABLE_PROGRESS_TAG=1
788 endif
789
790 ifeq ($(findstring ENABLE_VIDEO,$(FEATURE_DEFINES)), ENABLE_VIDEO)
791     HTML_FLAGS := $(HTML_FLAGS) ENABLE_VIDEO=1
792 endif
793
794 ifeq ($(findstring ENABLE_VIDEO_TRACK,$(FEATURE_DEFINES)), ENABLE_VIDEO_TRACK)
795     HTML_FLAGS := $(HTML_FLAGS) ENABLE_VIDEO_TRACK=0
796 endif
797
798 ifdef HTML_FLAGS
799
800 HTMLElementFactory.cpp HTMLNames.cpp : dom/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in
801         perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --factory --wrapperFactory --extraDefines "$(HTML_FLAGS)"
802
803 else
804
805 HTMLElementFactory.cpp HTMLNames.cpp : dom/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in
806         perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --factory --wrapperFactory
807
808 endif
809
810 JSHTMLElementWrapperFactory.cpp : HTMLNames.cpp
811
812 XMLNSNames.cpp : dom/make_names.pl xml/xmlnsattrs.in
813         perl -I $(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlnsattrs.in
814
815 XMLNames.cpp : dom/make_names.pl xml/xmlattrs.in
816         perl -I $(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlattrs.in
817
818 # --------
819
820 # SVG tag and attribute names, and element factory
821
822 ifeq ($(findstring ENABLE_SVG_FONTS,$(FEATURE_DEFINES)), ENABLE_SVG_FONTS)
823     SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_FONTS=1
824 endif
825
826 ifeq ($(findstring ENABLE_FILTERS,$(FEATURE_DEFINES)), ENABLE_FILTERS)
827     SVG_FLAGS := $(SVG_FLAGS) ENABLE_FILTERS=1
828 endif
829
830 ifeq ($(findstring ENABLE_SVG_AS_IMAGE,$(FEATURE_DEFINES)), ENABLE_SVG_AS_IMAGE)
831     SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_AS_IMAGE=1
832 endif
833
834 ifeq ($(findstring ENABLE_SVG_ANIMATION,$(FEATURE_DEFINES)), ENABLE_SVG_ANIMATION)
835     SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_ANIMATION=1
836 endif
837
838 # SVG tag and attribute names (need to pass an extra flag if svg experimental features are enabled)
839
840 ifdef SVG_FLAGS
841
842 SVGElementFactory.cpp SVGNames.cpp : dom/make_names.pl svg/svgtags.in svg/svgattrs.in
843         perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/svg/svgtags.in --attrs $(WebCore)/svg/svgattrs.in --extraDefines "$(SVG_FLAGS)" --factory --wrapperFactory
844 else
845
846 SVGElementFactory.cpp SVGNames.cpp : dom/make_names.pl svg/svgtags.in svg/svgattrs.in
847         perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/svg/svgtags.in --attrs $(WebCore)/svg/svgattrs.in --factory --wrapperFactory
848
849 endif
850
851 JSSVGElementWrapperFactory.cpp : SVGNames.cpp
852
853 XLinkNames.cpp : dom/make_names.pl svg/xlinkattrs.in
854         perl -I $(WebCore)/bindings/scripts $< --attrs $(WebCore)/svg/xlinkattrs.in
855
856 # --------
857  
858 # MathML tag and attribute names, and element factory
859
860 MathMLElementFactory.cpp MathMLNames.cpp : dom/make_names.pl mathml/mathtags.in mathml/mathattrs.in
861         perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/mathml/mathtags.in --attrs $(WebCore)/mathml/mathattrs.in --factory --wrapperFactory
862
863 # --------
864
865 # Common generator things
866
867 GENERATE_SCRIPTS = \
868     bindings/scripts/CodeGenerator.pm \
869     bindings/scripts/IDLParser.pm \
870     bindings/scripts/IDLStructure.pm \
871     bindings/scripts/generate-bindings.pl \
872     bindings/scripts/preprocessor.pm
873
874 generator_script = perl $(addprefix -I $(WebCore)/, $(sort $(dir $(1)))) $(WebCore)/bindings/scripts/generate-bindings.pl
875
876 # JS bindings generator
877
878 IDL_INCLUDES = \
879     $(WebCore)/dom \
880     $(WebCore)/fileapi \
881     $(WebCore)/html \
882     $(WebCore)/css \
883     $(WebCore)/p2p \
884     $(WebCore)/page \
885     $(WebCore)/notifications \
886     $(WebCore)/xml \
887     $(WebCore)/svg
888
889 IDL_COMMON_ARGS = $(IDL_INCLUDES:%=--include %) --write-dependencies --outputDir .
890
891 JS_BINDINGS_SCRIPTS = $(GENERATE_SCRIPTS) bindings/scripts/CodeGeneratorJS.pm
892
893 JS%.h : %.idl $(JS_BINDINGS_SCRIPTS)
894         $(call generator_script, $(JS_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS $<
895
896 # Inspector interfaces generator
897
898 Inspector.idl : Inspector.json inspector/generate-inspector-idl
899         python $(WebCore)/inspector/generate-inspector-idl -o Inspector.idl $(WebCore)/inspector/Inspector.json
900
901 all : InspectorFrontend.h
902
903 INSPECTOR_GENERATOR_SCRIPTS = $(GENERATE_SCRIPTS) inspector/CodeGeneratorInspector.pm
904
905 InspectorFrontend.h : Inspector.idl $(INSPECTOR_GENERATOR_SCRIPTS)
906         $(call generator_script, $(INSPECTOR_GENERATOR_SCRIPTS)) --outputDir . --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator Inspector $<
907
908 all : InjectedScriptSource.h
909
910 InjectedScriptSource.h : InjectedScriptSource.js
911         perl $(WebCore)/inspector/xxd.pl InjectedScriptSource_js $(WebCore)/inspector/InjectedScriptSource.js InjectedScriptSource.h
912
913 -include $(JS_DOM_HEADERS:.h=.dep)
914
915 ifeq ($(findstring BUILDING_WX,$(FEATURE_DEFINES)), BUILDING_WX)
916 CPP_BINDINGS_SCRIPTS = $(GENERATE_SCRIPTS) bindings/scripts/CodeGeneratorCPP.pm
917
918 WebDOM%.h : %.idl $(CPP_BINDINGS_SCRIPTS)
919         $(call generator_script, $(CPP_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_CPP" --generator CPP $<
920 endif # BUILDING_WX
921
922 # ------------------------
923
924 # Mac-specific rules
925
926 ifeq ($(OS),MACOS)
927
928 OBJC_DOM_HEADERS=$(filter-out DOMDOMWindow.h DOMDOMMimeType.h DOMDOMPlugin.h,$(DOM_CLASSES:%=DOM%.h))
929
930 all : $(OBJC_DOM_HEADERS)
931
932 all : CharsetData.cpp
933
934 # --------
935
936 # character set name table
937
938 CharsetData.cpp : platform/text/mac/make-charset-table.pl platform/text/mac/character-sets.txt platform/text/mac/mac-encodings.txt
939         perl $^ kTextEncoding > $@
940
941 # --------
942
943 ifneq ($(ACTION),installhdrs)
944
945 all : WebCore.exp WebCore.LP64.exp
946
947 WebCore.exp : $(BUILT_PRODUCTS_DIR)/WebCoreExportFileGenerator
948         $^ > $@
949
950 # Switch NSRect, NSSize and NSPoint with their CG counterparts for the 64-bit exports file.
951 WebCore.LP64.exp : WebCore.exp
952         cat $^ | sed -e s/7_NSRect/6CGRect/ -e s/7_NSSize/6CGSize/ -e s/8_NSPoint/7CGPoint/ > $@
953
954 endif # installhdrs
955
956 # --------
957
958 # Objective-C bindings
959
960 DOM_BINDINGS_SCRIPTS = $(GENERATE_BINDING_SCRIPTS) bindings/scripts/CodeGeneratorObjC.pm
961 DOM%.h : %.idl $(DOM_BINDINGS_SCRIPTS) bindings/objc/PublicDOMInterfaces.h
962         $(call generator_script, $(DOM_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_OBJECTIVE_C" --generator ObjC $<
963
964 -include $(OBJC_DOM_HEADERS:.h=.dep)
965
966 # --------
967
968 endif # MACOS
969
970 # ------------------------
971
972 # Header detection
973
974 ifeq ($(OS),Windows_NT)
975
976 all : WebCoreHeaderDetection.h
977
978 WebCoreHeaderDetection.h : DerivedSources.make
979         if [ -f "$(WEBKITLIBRARIESDIR)/include/AVFoundationCF/AVCFBase.h" ]; then echo "#define HAVE_AVCF 1" > $@; else echo > $@; fi
980
981 endif # Windows_NT