6f4ab5fdb70dfcf5cff17f45030c289445deacf3
[WebKit-https.git] / 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 #
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions
6 # are met:
7 #
8 # 1.  Redistributions of source code must retain the above copyright
9 #     notice, this list of conditions and the following disclaimer. 
10 # 2.  Redistributions in binary form must reproduce the above copyright
11 #     notice, this list of conditions and the following disclaimer in the
12 #     documentation and/or other materials provided with the distribution. 
13 # 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
14 #     its contributors may be used to endorse or promote products derived
15 #     from this software without specific prior written permission. 
16 #
17 # THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
18 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 # DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
21 # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
28 VPATH = \
29     $(WebCore) \
30     $(WebCore)/bindings/js \
31     $(WebCore)/bindings/objc \
32     $(WebCore)/css \
33     $(WebCore)/dom \
34     $(WebCore)/html \
35     $(WebCore)/loader/appcache \
36     $(WebCore)/page \
37     $(WebCore)/plugins \
38     $(WebCore)/storage \
39     $(WebCore)/xml \
40     $(WebCore)/svg \
41 #
42
43 DOM_CLASSES = \
44     AbstractView \
45     Attr \
46     BarInfo \
47     CDATASection \
48     CSSCharsetRule \
49     CSSFontFaceRule \
50     CSSImportRule \
51     CSSMediaRule \
52     CSSPageRule \
53     CSSPrimitiveValue \
54     CSSRule \
55     CSSRuleList \
56     CSSStyleDeclaration \
57     CSSStyleRule \
58     CSSStyleSheet \
59     CSSUnknownRule \
60     CSSValue \
61     CSSValueList \
62     CanvasGradient \
63     CanvasPattern \
64     CanvasPixelArray \
65     CanvasRenderingContext2D \
66     CharacterData \
67     Clipboard \
68     Comment \
69     Console \
70     Counter \
71     DOMApplicationCache \
72     DOMCoreException \
73     DOMImplementation \
74     DOMParser \
75     DOMSelection \
76     DOMWindow \
77     Database \
78     Document \
79     DocumentFragment \
80     DocumentType \
81     Element \
82     ElementTimeControl \
83     Entity \
84     EntityReference \
85     Event \
86     EventException \
87     EventListener \
88     EventTarget \
89     HTMLAnchorElement \
90     HTMLAppletElement \
91     HTMLAreaElement \
92     HTMLAudioElement \
93     HTMLBRElement \
94     HTMLBaseElement \
95     HTMLBaseFontElement \
96     HTMLBlockquoteElement \
97     HTMLBodyElement \
98     HTMLButtonElement \
99     HTMLCanvasElement \
100     HTMLCollection \
101     HTMLDListElement \
102     HTMLDirectoryElement \
103     HTMLDivElement \
104     HTMLDocument \
105     HTMLElement \
106     HTMLEmbedElement \
107     HTMLFieldSetElement \
108     HTMLFontElement \
109     HTMLFormElement \
110     HTMLFrameElement \
111     HTMLFrameSetElement \
112     HTMLHRElement \
113     HTMLHeadElement \
114     HTMLHeadingElement \
115     HTMLHtmlElement \
116     HTMLIFrameElement \
117     HTMLImageElement \
118     HTMLInputElement \
119     HTMLIsIndexElement \
120     HTMLLIElement \
121     HTMLLabelElement \
122     HTMLLegendElement \
123     HTMLLinkElement \
124     HTMLMapElement \
125     HTMLMarqueeElement \
126     HTMLMediaElement \
127     HTMLMenuElement \
128     HTMLMetaElement \
129     HTMLModElement \
130     HTMLOListElement \
131     HTMLObjectElement \
132     HTMLOptGroupElement \
133     HTMLOptionElement \
134     HTMLOptionsCollection \
135     HTMLParagraphElement \
136     HTMLParamElement \
137     HTMLPreElement \
138     HTMLQuoteElement \
139     HTMLScriptElement \
140     HTMLSelectElement \
141     HTMLSourceElement \
142     HTMLStyleElement \
143     HTMLTableCaptionElement \
144     HTMLTableCellElement \
145     HTMLTableColElement \
146     HTMLTableElement \
147     HTMLTableRowElement \
148     HTMLTableSectionElement \
149     HTMLTextAreaElement \
150     HTMLTitleElement \
151     HTMLUListElement \
152     HTMLVideoElement \
153     History \
154     ImageData \
155     KeyboardEvent \
156     Location \
157     MediaError \
158     MediaList \
159     MessageEvent \
160     MimeType \
161     MimeTypeArray \
162     MouseEvent \
163     MutationEvent \
164     NamedNodeMap \
165     Navigator \
166     Node \
167     NodeFilter \
168     NodeIterator \
169     NodeList \
170     Notation \
171     OverflowEvent \
172     Plugin \
173     PluginArray \
174     ProcessingInstruction \
175     ProgressEvent \
176     RGBColor \
177     Range \
178     RangeException \
179     Rect \
180     SQLError \
181     SQLResultSet \
182     SQLResultSetRowList \
183     SQLTransaction \
184     Storage \
185     StorageEvent \
186     SVGAElement \
187     SVGAltGlyphElement \
188     SVGAngle \
189     SVGAnimateColorElement \
190     SVGAnimateElement \
191     SVGAnimateTransformElement \
192     SVGAnimatedAngle \
193     SVGAnimatedBoolean \
194     SVGAnimatedEnumeration \
195     SVGAnimatedInteger \
196     SVGAnimatedLength \
197     SVGAnimatedLengthList \
198     SVGAnimatedNumber \
199     SVGAnimatedNumberList \
200     SVGAnimatedPathData \
201     SVGAnimatedPoints \
202     SVGAnimatedPreserveAspectRatio \
203     SVGAnimatedRect \
204     SVGAnimatedString \
205     SVGAnimatedTransformList \
206     SVGAnimationElement \
207     SVGCircleElement \
208     SVGClipPathElement \
209     SVGColor \
210     SVGComponentTransferFunctionElement \
211     SVGCursorElement \
212     SVGDefinitionSrcElement \
213     SVGDefsElement \
214     SVGDescElement \
215     SVGDocument \
216     SVGElement \
217     SVGElementInstance \
218     SVGElementInstanceList \
219     SVGEllipseElement \
220     SVGException \
221     SVGExternalResourcesRequired \
222     SVGFEBlendElement \
223     SVGFEColorMatrixElement \
224     SVGFEComponentTransferElement \
225     SVGFECompositeElement \
226     SVGFEDiffuseLightingElement \
227     SVGFEDisplacementMapElement \
228     SVGFEDistantLightElement \
229     SVGFEFloodElement \
230     SVGFEFuncAElement \
231     SVGFEFuncBElement \
232     SVGFEFuncGElement \
233     SVGFEFuncRElement \
234     SVGFEGaussianBlurElement \
235     SVGFEImageElement \
236     SVGFEMergeElement \
237     SVGFEMergeNodeElement \
238     SVGFEOffsetElement \
239     SVGFEPointLightElement \
240     SVGFESpecularLightingElement \
241     SVGFESpotLightElement \
242     SVGFETileElement \
243     SVGFETurbulenceElement \
244     SVGFilterElement \
245     SVGFilterPrimitiveStandardAttributes \
246     SVGFitToViewBox \
247     SVGFontElement \
248     SVGFontFaceElement \
249     SVGFontFaceFormatElement \
250     SVGFontFaceNameElement \
251     SVGFontFaceSrcElement \
252     SVGFontFaceUriElement \
253     SVGForeignObjectElement \
254     SVGGElement \
255     SVGGlyphElement \
256     SVGGradientElement \
257     SVGHKernElement \
258     SVGImageElement \
259     SVGLangSpace \
260     SVGLength \
261     SVGLengthList \
262     SVGLineElement \
263     SVGLinearGradientElement \
264     SVGLocatable \
265     SVGMarkerElement \
266     SVGMaskElement \
267     SVGMatrix \
268     SVGMetadataElement \
269     SVGMissingGlyphElement \
270     SVGNumber \
271     SVGNumberList \
272     SVGPaint \
273     SVGPathElement \
274     SVGPathSeg \
275     SVGPathSegArcAbs \
276     SVGPathSegArcRel \
277     SVGPathSegClosePath \
278     SVGPathSegCurvetoCubicAbs \
279     SVGPathSegCurvetoCubicRel \
280     SVGPathSegCurvetoCubicSmoothAbs \
281     SVGPathSegCurvetoCubicSmoothRel \
282     SVGPathSegCurvetoQuadraticAbs \
283     SVGPathSegCurvetoQuadraticRel \
284     SVGPathSegCurvetoQuadraticSmoothAbs \
285     SVGPathSegCurvetoQuadraticSmoothRel \
286     SVGPathSegLinetoAbs \
287     SVGPathSegLinetoHorizontalAbs \
288     SVGPathSegLinetoHorizontalRel \
289     SVGPathSegLinetoRel \
290     SVGPathSegLinetoVerticalAbs \
291     SVGPathSegLinetoVerticalRel \
292     SVGPathSegList \
293     SVGPathSegMovetoAbs \
294     SVGPathSegMovetoRel \
295     SVGPatternElement \
296     SVGPoint \
297     SVGPointList \
298     SVGPolygonElement \
299     SVGPolylineElement \
300     SVGPreserveAspectRatio \
301     SVGRadialGradientElement \
302     SVGRect \
303     SVGRectElement \
304     SVGRenderingIntent \
305     SVGSVGElement \
306     SVGScriptElement \
307     SVGSetElement \
308     SVGStopElement \
309     SVGStringList \
310     SVGStylable \
311     SVGStyleElement \
312     SVGSwitchElement \
313     SVGSymbolElement \
314     SVGTRefElement \
315     SVGTSpanElement \
316     SVGTests \
317     SVGTextContentElement \
318     SVGTextElement \
319     SVGTextPathElement \
320     SVGTextPositioningElement \
321     SVGTitleElement \
322     SVGTransform \
323     SVGTransformList \
324     SVGTransformable \
325     SVGURIReference \
326     SVGUnitTypes \
327     SVGUseElement \
328     SVGViewElement \
329     SVGZoomAndPan \
330     SVGZoomEvent \
331     Screen \
332     StyleSheet \
333     StyleSheetList \
334     Text \
335     TextEvent \
336     TimeRanges \
337     TreeWalker \
338     UIEvent \
339     VoidCallback \
340     WheelEvent \
341     XMLHttpRequest \
342     XMLHttpRequestException \
343     XMLHttpRequestProgressEvent \
344     XMLSerializer \
345     XPathEvaluator \
346     XPathException \
347     XPathExpression \
348     XPathNSResolver \
349     XPathResult \
350     XSLTProcessor \
351 #
352
353 .PHONY : all
354
355 all : \
356     $(filter-out JSRGBColor.h,$(DOM_CLASSES:%=JS%.h)) \
357     \
358     JSDOMWindowBase.lut.h \
359     JSEventTargetBase.lut.h \
360     JSRGBColor.lut.h \
361     \
362     JSHTMLInputElementBaseTable.cpp \
363     \
364     CSSGrammar.cpp \
365     CSSPropertyNames.h \
366     CSSValueKeywords.h \
367     ColorData.c \
368     DocTypeStrings.cpp \
369     HTMLEntityNames.c \
370     HTMLNames.cpp \
371     SVGElementFactory.cpp \
372     SVGNames.cpp \
373     UserAgentStyleSheets.h \
374     XLinkNames.cpp \
375     XMLNames.cpp \
376     XPathGrammar.cpp \
377     tokenizer.cpp \
378 #
379
380 # --------
381
382 ifeq ($(OS),MACOS)
383
384 FRAMEWORK_FLAGS = $(shell echo $(FRAMEWORK_SEARCH_PATHS) | perl -e 'print "-F " . join(" -F ", split(" ", <>));')
385
386 ifeq ($(shell gcc -E -P -dM -F $(BUILT_PRODUCTS_DIR) $(FRAMEWORK_FLAGS) WebCore/ForwardingHeaders/wtf/Platform.h | grep ENABLE_DASHBOARD_SUPPORT | cut -d' ' -f3), 1)
387     ENABLE_DASHBOARD_SUPPORT = 1
388 else
389     ENABLE_DASHBOARD_SUPPORT = 0
390 endif
391
392 else
393
394 ENABLE_DASHBOARD_SUPPORT = 1
395
396 endif
397
398 # CSS property names and value keywords
399
400 WEBCORE_CSS_PROPERTY_NAMES := $(WebCore)/css/CSSPropertyNames.in
401 WEBCORE_CSS_VALUE_KEYWORDS := $(WebCore)/css/CSSValueKeywords.in
402
403 ifeq ($(findstring ENABLE_SVG,$(FEATURE_DEFINES)), ENABLE_SVG)
404     WEBCORE_CSS_PROPERTY_NAMES := $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/SVGCSSPropertyNames.in
405     WEBCORE_CSS_VALUE_KEYWORDS := $(WEBCORE_CSS_VALUE_KEYWORDS) $(WebCore)/css/SVGCSSValueKeywords.in
406 endif
407
408 ifeq ($(ENABLE_DASHBOARD_SUPPORT), 1)
409     WEBCORE_CSS_PROPERTY_NAMES := $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/DashboardSupportCSSPropertyNames.in
410 endif
411
412 CSSPropertyNames.h : $(WEBCORE_CSS_PROPERTY_NAMES) css/makeprop.pl
413         if sort $(WEBCORE_CSS_PROPERTY_NAMES) | uniq -d | grep -E '^[^#]'; then echo 'Duplicate value!'; exit 1; fi
414         cat $(WEBCORE_CSS_PROPERTY_NAMES) > CSSPropertyNames.in
415         perl "$(WebCore)/css/makeprop.pl"
416
417 CSSValueKeywords.h : $(WEBCORE_CSS_VALUE_KEYWORDS) css/makevalues.pl
418         # Lower case all the values, as CSS values are case-insensitive
419         perl -ne 'print lc' $(WEBCORE_CSS_VALUE_KEYWORDS) > CSSValueKeywords.in
420         if sort CSSValueKeywords.in | uniq -d | grep -E '^[^#]'; then echo 'Duplicate value!'; exit 1; fi
421         perl "$(WebCore)/css/makevalues.pl"
422
423 # --------
424
425 # DOCTYPE strings
426
427 DocTypeStrings.cpp : html/DocTypeStrings.gperf
428         gperf -CEot -L ANSI-C -k "*" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards $< > $@
429
430 # --------
431
432 # HTML entity names
433
434 HTMLEntityNames.c : html/HTMLEntityNames.gperf
435         gperf -a -L ANSI-C -C -G -c -o -t -k '*' -N findEntity -D -s 2 $< > $@
436
437 # --------
438
439 # color names
440
441 ColorData.c : platform/ColorData.gperf
442         gperf -CDEot -L ANSI-C -k '*' -N findColor -D -s 2 $< > $@
443
444 # --------
445
446 # CSS tokenizer
447
448 tokenizer.cpp : css/tokenizer.flex css/maketokenizer
449         flex -t $< | perl $(WebCore)/css/maketokenizer > $@
450
451 # --------
452
453 # CSS grammar
454 # NOTE: Older versions of bison do not inject an inclusion guard, so we add one.
455
456 CSSGrammar.cpp : css/CSSGrammar.y
457         bison -d -p cssyy $< -o $@
458         touch CSSGrammar.cpp.h
459         touch CSSGrammar.hpp
460         echo '#ifndef CSSGrammar_h' > CSSGrammar.h
461         echo '#define CSSGrammar_h' >> CSSGrammar.h
462         cat CSSGrammar.cpp.h CSSGrammar.hpp >> CSSGrammar.h
463         echo '#endif' >> CSSGrammar.h
464         rm -f CSSGrammar.cpp.h CSSGrammar.hpp
465
466 # --------
467
468 # XPath grammar
469 # NOTE: Older versions of bison do not inject an inclusion guard, so we add one.
470
471 XPathGrammar.cpp : xml/XPathGrammar.y $(PROJECT_FILE)
472         bison -d -p xpathyy $< -o $@
473         touch XPathGrammar.cpp.h
474         touch XPathGrammar.hpp
475         echo '#ifndef XPathGrammar_h' > XPathGrammar.h
476         echo '#define XPathGrammar_h' >> XPathGrammar.h
477         cat XPathGrammar.cpp.h XPathGrammar.hpp >> XPathGrammar.h
478         echo '#endif' >> XPathGrammar.h
479         rm -f XPathGrammar.cpp.h XPathGrammar.hpp
480
481 # --------
482
483 # user agent style sheets
484
485 USER_AGENT_STYLE_SHEETS = $(WebCore)/css/html4.css $(WebCore)/css/quirks.css $(WebCore)/css/view-source.css $(WebCore)/css/svg.css 
486 UserAgentStyleSheets.h : css/make-css-file-arrays.pl $(USER_AGENT_STYLE_SHEETS)
487         perl $< $@ UserAgentStyleSheetsData.cpp $(USER_AGENT_STYLE_SHEETS)
488
489 # --------
490
491 # lookup tables for old-style JavaScript bindings
492
493 %.lut.h: %.cpp $(CREATE_HASH_TABLE)
494         $(CREATE_HASH_TABLE) $< > $@
495 %Table.cpp: %.cpp $(CREATE_HASH_TABLE)
496         $(CREATE_HASH_TABLE) $< > $@
497
498 # --------
499
500 # HTML tag and attribute names
501
502 HTMLNames.cpp : dom/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in
503         perl $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in \
504             --namespace HTML --namespacePrefix xhtml --cppNamespace WebCore --namespaceURI "http://www.w3.org/1999/xhtml" --attrsNullNamespace --output .
505
506 XMLNames.cpp : dom/make_names.pl xml/xmlattrs.in
507         perl $< --attrs $(WebCore)/xml/xmlattrs.in \
508             --namespace XML --cppNamespace WebCore --namespaceURI "http://www.w3.org/XML/1998/namespace" --output .
509
510 # --------
511
512 ifeq ($(findstring ENABLE_SVG,$(FEATURE_DEFINES)), ENABLE_SVG)
513
514 WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.SVG.exp
515
516 ifeq ($(findstring ENABLE_SVG_USE,$(FEATURE_DEFINES)), ENABLE_SVG_USE)
517     SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_USE=1
518 endif
519
520 ifeq ($(findstring ENABLE_SVG_FONTS,$(FEATURE_DEFINES)), ENABLE_SVG_FONTS)
521     SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_FONTS=1
522 endif
523
524 ifeq ($(findstring ENABLE_SVG_FILTERS,$(FEATURE_DEFINES)), ENABLE_SVG_FILTERS)
525     SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_FILTERS=1
526     WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.SVG.Filters.exp
527 endif
528
529 ifeq ($(findstring ENABLE_SVG_AS_IMAGE,$(FEATURE_DEFINES)), ENABLE_SVG_AS_IMAGE)
530     SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_AS_IMAGE=1
531 endif
532
533 ifeq ($(findstring ENABLE_SVG_ANIMATION,$(FEATURE_DEFINES)), ENABLE_SVG_ANIMATION)
534     SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_ANIMATION=1
535     WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.SVG.Animation.exp
536 endif
537
538 ifeq ($(findstring ENABLE_SVG_FOREIGN_OBJECT,$(FEATURE_DEFINES)), ENABLE_SVG_FOREIGN_OBJECT)
539     SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_FOREIGN_OBJECT=1
540     WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.SVG.ForeignObject.exp
541 endif
542
543 # SVG tag and attribute names (need to pass an extra flag if svg experimental features are enabled)
544
545 ifdef SVG_FLAGS
546
547 SVGElementFactory.cpp SVGNames.cpp : dom/make_names.pl svg/svgtags.in svg/svgattrs.in
548         perl $< --tags $(WebCore)/svg/svgtags.in --attrs $(WebCore)/svg/svgattrs.in --extraDefines "$(SVG_FLAGS)" \
549             --namespace SVG --guardFactoryWith "ENABLE(SVG)" --cppNamespace WebCore --namespaceURI "http://www.w3.org/2000/svg" --factory --attrsNullNamespace --output .
550 else
551
552 SVGElementFactory.cpp SVGNames.cpp : dom/make_names.pl svg/svgtags.in svg/svgattrs.in
553         perl $< --tags $(WebCore)/svg/svgtags.in --attrs $(WebCore)/svg/svgattrs.in \
554             --namespace SVG --guardFactoryWith "ENABLE(SVG)" --cppNamespace WebCore --namespaceURI "http://www.w3.org/2000/svg" --factory --attrsNullNamespace --output .
555
556 endif
557
558 XLinkNames.cpp : dom/make_names.pl svg/xlinkattrs.in
559         perl $< --attrs $(WebCore)/svg/xlinkattrs.in \
560             --namespace XLink --cppNamespace WebCore --namespaceURI "http://www.w3.org/1999/xlink" --output .
561
562 else
563
564 SVGElementFactory.cpp :
565         echo > $@
566
567 SVGNames.cpp :
568         echo > $@
569
570 XLinkNames.cpp :
571         echo > $@
572
573 endif
574
575 # --------
576
577 # JavaScript bindings
578
579 GENERATE_BINDINGS = perl -I $(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl \
580     --include dom --include html --include css --include page --include xml --include svg --outputdir .
581
582 GENERATE_BINDINGS_SCRIPTS = \
583     bindings/scripts/CodeGenerator.pm \
584     bindings/scripts/IDLParser.pm \
585     bindings/scripts/IDLStructure.pm \
586     bindings/scripts/generate-bindings.pl \
587 #
588
589 JS%.h : %.idl $(GENERATE_BINDINGS_SCRIPTS) bindings/scripts/CodeGeneratorJS.pm
590         $(GENERATE_BINDINGS) --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS $<
591
592 # ------------------------
593
594 # Mac-specific rules
595
596 ifeq ($(OS),MACOS)
597
598 all : $(filter-out DOMDOMWindow.h DOMMimeType.h DOMPlugin.h,$(DOM_CLASSES:%=DOM%.h))
599
600 all : CharsetData.cpp WebCore.exp
601
602 # --------
603
604 # character set name table
605
606 CharsetData.cpp : platform/text/mac/make-charset-table.pl platform/text/mac/character-sets.txt platform/text/mac/mac-encodings.txt
607         perl $^ kTextEncoding > $@
608
609 # --------
610
611 # export file
612
613 ifeq ($(shell gcc -E -P -dM -F $(BUILT_PRODUCTS_DIR) $(FRAMEWORK_FLAGS) WebCore/ForwardingHeaders/wtf/Platform.h | grep ENABLE_MAC_JAVA_BRIDGE | cut -d' ' -f3), 1)
614     WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.JNI.exp
615 endif
616
617 # See also "Generate 64-bit Export File" build phase script in WebCore.xcodeproj/project.pbxproj
618 ifeq ($(shell gcc -E -P -dM -F $(BUILT_PRODUCTS_DIR) $(FRAMEWORK_FLAGS) WebCore/ForwardingHeaders/wtf/Platform.h | grep ENABLE_NETSCAPE_PLUGIN_API | cut -d' ' -f3), 1)
619     WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.NPAPI.exp
620 endif
621
622 ifeq ($(ENABLE_DASHBOARD_SUPPORT), 1)
623     WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.DashboardSupport.exp
624 endif
625
626 ifeq ($(findstring 10.4,$(MACOSX_DEPLOYMENT_TARGET)), 10.4)
627     WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.Tiger.exp
628 endif
629
630 WebCore.exp : WebCore.base.exp $(WEBCORE_EXPORT_DEPENDENCIES)
631         cat $^ > $@
632
633 # --------
634
635 # Objective-C bindings
636
637 DOM%.h : %.idl $(GENERATE_BINDINGS_SCRIPTS) bindings/scripts/CodeGeneratorObjC.pm bindings/objc/PublicDOMInterfaces.h
638         $(GENERATE_BINDINGS) --defines "$(FEATURE_DEFINES) LANGUAGE_OBJECTIVE_C" --generator ObjC $<
639
640 # --------
641
642 endif
643
644 # ------------------------