2008-11-04 Anders Carlsson <andersca@apple.com>
[webkit/qt.git] / WebCore / DerivedSources.make
blobcd9accd199556a1e27c2f9c4ed2825bd635121da
1 # Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
2 # Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions
6 # are met:
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.
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.
28 VPATH = \
29 $(WebCore) \
30 $(WebCore)/bindings/js \
31 $(WebCore)/bindings/objc \
32 $(WebCore)/css \
33 $(WebCore)/dom \
34 $(WebCore)/html \
35 $(WebCore)/inspector \
36 $(WebCore)/loader/appcache \
37 $(WebCore)/page \
38 $(WebCore)/plugins \
39 $(WebCore)/storage \
40 $(WebCore)/xml \
41 $(WebCore)/svg \
44 DOM_CLASSES = \
45 AbstractView \
46 Attr \
47 BarInfo \
48 CDATASection \
49 CSSCharsetRule \
50 CSSFontFaceRule \
51 CSSImportRule \
52 CSSMediaRule \
53 CSSPageRule \
54 CSSPrimitiveValue \
55 CSSRule \
56 CSSRuleList \
57 CSSStyleDeclaration \
58 CSSStyleRule \
59 CSSStyleSheet \
60 CSSUnknownRule \
61 CSSValue \
62 CSSValueList \
63 CSSVariablesRule \
64 CSSVariablesDeclaration \
65 CanvasGradient \
66 CanvasPattern \
67 CanvasPixelArray \
68 CanvasRenderingContext2D \
69 CharacterData \
70 Clipboard \
71 Comment \
72 Console \
73 Counter \
74 DOMApplicationCache \
75 DOMCoreException \
76 DOMImplementation \
77 DOMParser \
78 DOMSelection \
79 DOMWindow \
80 DedicatedWorker \
81 Database \
82 Document \
83 DocumentFragment \
84 DocumentType \
85 Element \
86 ElementTimeControl \
87 Entity \
88 EntityReference \
89 Event \
90 EventException \
91 EventListener \
92 EventTarget \
93 EventTargetNode \
94 File \
95 FileList \
96 Geolocation \
97 Geoposition \
98 HTMLAnchorElement \
99 HTMLAppletElement \
100 HTMLAreaElement \
101 HTMLAudioElement \
102 HTMLBRElement \
103 HTMLBaseElement \
104 HTMLBaseFontElement \
105 HTMLBlockquoteElement \
106 HTMLBodyElement \
107 HTMLButtonElement \
108 HTMLCanvasElement \
109 HTMLCollection \
110 HTMLDListElement \
111 HTMLDirectoryElement \
112 HTMLDivElement \
113 HTMLDocument \
114 HTMLElement \
115 HTMLEmbedElement \
116 HTMLFieldSetElement \
117 HTMLFontElement \
118 HTMLFormElement \
119 HTMLFrameElement \
120 HTMLFrameSetElement \
121 HTMLHRElement \
122 HTMLHeadElement \
123 HTMLHeadingElement \
124 HTMLHtmlElement \
125 HTMLIFrameElement \
126 HTMLImageElement \
127 HTMLInputElement \
128 HTMLIsIndexElement \
129 HTMLLIElement \
130 HTMLLabelElement \
131 HTMLLegendElement \
132 HTMLLinkElement \
133 HTMLMapElement \
134 HTMLMarqueeElement \
135 HTMLMediaElement \
136 HTMLMenuElement \
137 HTMLMetaElement \
138 HTMLModElement \
139 HTMLOListElement \
140 HTMLObjectElement \
141 HTMLOptGroupElement \
142 HTMLOptionElement \
143 HTMLOptionsCollection \
144 HTMLParagraphElement \
145 HTMLParamElement \
146 HTMLPreElement \
147 HTMLQuoteElement \
148 HTMLScriptElement \
149 HTMLSelectElement \
150 HTMLSourceElement \
151 HTMLStyleElement \
152 HTMLTableCaptionElement \
153 HTMLTableCellElement \
154 HTMLTableColElement \
155 HTMLTableElement \
156 HTMLTableRowElement \
157 HTMLTableSectionElement \
158 HTMLTextAreaElement \
159 HTMLTitleElement \
160 HTMLUListElement \
161 HTMLVideoElement \
162 History \
163 ImageData \
164 KeyboardEvent \
165 Location \
166 MediaError \
167 MediaList \
168 MessageChannel \
169 MessageEvent \
170 MessagePort \
171 MimeType \
172 MimeTypeArray \
173 MouseEvent \
174 MutationEvent \
175 NamedNodeMap \
176 Navigator \
177 Node \
178 NodeFilter \
179 NodeIterator \
180 NodeList \
181 Notation \
182 OverflowEvent \
183 Plugin \
184 PluginArray \
185 PositionCallback \
186 PositionError \
187 PositionErrorCallback \
188 PositionOptions \
189 ProcessingInstruction \
190 ProgressEvent \
191 RGBColor \
192 Range \
193 RangeException \
194 Rect \
195 SQLError \
196 SQLResultSet \
197 SQLResultSetRowList \
198 SQLTransaction \
199 Storage \
200 StorageEvent \
201 SVGAElement \
202 SVGAltGlyphElement \
203 SVGAngle \
204 SVGAnimateColorElement \
205 SVGAnimateElement \
206 SVGAnimateTransformElement \
207 SVGAnimatedAngle \
208 SVGAnimatedBoolean \
209 SVGAnimatedEnumeration \
210 SVGAnimatedInteger \
211 SVGAnimatedLength \
212 SVGAnimatedLengthList \
213 SVGAnimatedNumber \
214 SVGAnimatedNumberList \
215 SVGAnimatedPathData \
216 SVGAnimatedPoints \
217 SVGAnimatedPreserveAspectRatio \
218 SVGAnimatedRect \
219 SVGAnimatedString \
220 SVGAnimatedTransformList \
221 SVGAnimationElement \
222 SVGCircleElement \
223 SVGClipPathElement \
224 SVGColor \
225 SVGComponentTransferFunctionElement \
226 SVGCursorElement \
227 SVGDefinitionSrcElement \
228 SVGDefsElement \
229 SVGDescElement \
230 SVGDocument \
231 SVGElement \
232 SVGElementInstance \
233 SVGElementInstanceList \
234 SVGEllipseElement \
235 SVGException \
236 SVGExternalResourcesRequired \
237 SVGFEBlendElement \
238 SVGFEColorMatrixElement \
239 SVGFEComponentTransferElement \
240 SVGFECompositeElement \
241 SVGFEDiffuseLightingElement \
242 SVGFEDisplacementMapElement \
243 SVGFEDistantLightElement \
244 SVGFEFloodElement \
245 SVGFEFuncAElement \
246 SVGFEFuncBElement \
247 SVGFEFuncGElement \
248 SVGFEFuncRElement \
249 SVGFEGaussianBlurElement \
250 SVGFEImageElement \
251 SVGFEMergeElement \
252 SVGFEMergeNodeElement \
253 SVGFEOffsetElement \
254 SVGFEPointLightElement \
255 SVGFESpecularLightingElement \
256 SVGFESpotLightElement \
257 SVGFETileElement \
258 SVGFETurbulenceElement \
259 SVGFilterElement \
260 SVGFilterPrimitiveStandardAttributes \
261 SVGFitToViewBox \
262 SVGFontElement \
263 SVGFontFaceElement \
264 SVGFontFaceFormatElement \
265 SVGFontFaceNameElement \
266 SVGFontFaceSrcElement \
267 SVGFontFaceUriElement \
268 SVGForeignObjectElement \
269 SVGGElement \
270 SVGGlyphElement \
271 SVGGradientElement \
272 SVGHKernElement \
273 SVGImageElement \
274 SVGLangSpace \
275 SVGLength \
276 SVGLengthList \
277 SVGLineElement \
278 SVGLinearGradientElement \
279 SVGLocatable \
280 SVGMarkerElement \
281 SVGMaskElement \
282 SVGMatrix \
283 SVGMetadataElement \
284 SVGMissingGlyphElement \
285 SVGNumber \
286 SVGNumberList \
287 SVGPaint \
288 SVGPathElement \
289 SVGPathSeg \
290 SVGPathSegArcAbs \
291 SVGPathSegArcRel \
292 SVGPathSegClosePath \
293 SVGPathSegCurvetoCubicAbs \
294 SVGPathSegCurvetoCubicRel \
295 SVGPathSegCurvetoCubicSmoothAbs \
296 SVGPathSegCurvetoCubicSmoothRel \
297 SVGPathSegCurvetoQuadraticAbs \
298 SVGPathSegCurvetoQuadraticRel \
299 SVGPathSegCurvetoQuadraticSmoothAbs \
300 SVGPathSegCurvetoQuadraticSmoothRel \
301 SVGPathSegLinetoAbs \
302 SVGPathSegLinetoHorizontalAbs \
303 SVGPathSegLinetoHorizontalRel \
304 SVGPathSegLinetoRel \
305 SVGPathSegLinetoVerticalAbs \
306 SVGPathSegLinetoVerticalRel \
307 SVGPathSegList \
308 SVGPathSegMovetoAbs \
309 SVGPathSegMovetoRel \
310 SVGPatternElement \
311 SVGPoint \
312 SVGPointList \
313 SVGPolygonElement \
314 SVGPolylineElement \
315 SVGPreserveAspectRatio \
316 SVGRadialGradientElement \
317 SVGRect \
318 SVGRectElement \
319 SVGRenderingIntent \
320 SVGSVGElement \
321 SVGScriptElement \
322 SVGSetElement \
323 SVGStopElement \
324 SVGStringList \
325 SVGStylable \
326 SVGStyleElement \
327 SVGSwitchElement \
328 SVGSymbolElement \
329 SVGTRefElement \
330 SVGTSpanElement \
331 SVGTests \
332 SVGTextContentElement \
333 SVGTextElement \
334 SVGTextPathElement \
335 SVGTextPositioningElement \
336 SVGTitleElement \
337 SVGTransform \
338 SVGTransformList \
339 SVGTransformable \
340 SVGURIReference \
341 SVGUnitTypes \
342 SVGUseElement \
343 SVGViewElement \
344 SVGZoomAndPan \
345 SVGZoomEvent \
346 Screen \
347 StyleSheet \
348 StyleSheetList \
349 Text \
350 TextEvent \
351 TextMetrics \
352 TimeRanges \
353 TreeWalker \
354 UIEvent \
355 VoidCallback \
356 WebKitAnimationEvent \
357 WebKitCSSKeyframeRule \
358 WebKitCSSKeyframesRule \
359 WebKitCSSTransformValue \
360 WebKitTransitionEvent \
361 WheelEvent \
362 XMLHttpRequest \
363 XMLHttpRequestException \
364 XMLHttpRequestProgressEvent \
365 XMLHttpRequestUpload \
366 XMLSerializer \
367 XPathEvaluator \
368 XPathException \
369 XPathExpression \
370 XPathNSResolver \
371 XPathResult \
372 XSLTProcessor \
375 .PHONY : all
377 all : \
378 $(filter-out JSEventListener.h JSRGBColor.h,$(DOM_CLASSES:%=JS%.h)) \
380 JSDOMWindowBase.lut.h \
381 JSRGBColor.lut.h \
383 JSJavaScriptCallFrame.h \
385 CSSGrammar.cpp \
386 CSSPropertyNames.h \
387 CSSValueKeywords.h \
388 ColorData.c \
389 DocTypeStrings.cpp \
390 HTMLEntityNames.c \
391 HTMLNames.cpp \
392 JSSVGElementWrapperFactory.cpp \
393 SVGElementFactory.cpp \
394 SVGNames.cpp \
395 UserAgentStyleSheets.h \
396 XLinkNames.cpp \
397 XMLNames.cpp \
398 XPathGrammar.cpp \
399 tokenizer.cpp \
402 # --------
404 ifeq ($(OS),MACOS)
406 FRAMEWORK_FLAGS = $(shell echo $(FRAMEWORK_SEARCH_PATHS) | perl -e 'print "-F " . join(" -F ", split(" ", <>));')
408 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)
409 ENABLE_DASHBOARD_SUPPORT = 1
410 else
411 ENABLE_DASHBOARD_SUPPORT = 0
412 endif
414 else
416 ENABLE_DASHBOARD_SUPPORT = 0
418 endif
420 # CSS property names and value keywords
422 WEBCORE_CSS_PROPERTY_NAMES := $(WebCore)/css/CSSPropertyNames.in
423 WEBCORE_CSS_VALUE_KEYWORDS := $(WebCore)/css/CSSValueKeywords.in
425 ifeq ($(findstring ENABLE_SVG,$(FEATURE_DEFINES)), ENABLE_SVG)
426 WEBCORE_CSS_PROPERTY_NAMES := $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/SVGCSSPropertyNames.in
427 WEBCORE_CSS_VALUE_KEYWORDS := $(WEBCORE_CSS_VALUE_KEYWORDS) $(WebCore)/css/SVGCSSValueKeywords.in
428 endif
430 ifeq ($(ENABLE_DASHBOARD_SUPPORT), 1)
431 WEBCORE_CSS_PROPERTY_NAMES := $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/DashboardSupportCSSPropertyNames.in
432 endif
434 CSSPropertyNames.h : $(WEBCORE_CSS_PROPERTY_NAMES) css/makeprop.pl
435 if sort $(WEBCORE_CSS_PROPERTY_NAMES) | uniq -d | grep -E '^[^#]'; then echo 'Duplicate value!'; exit 1; fi
436 cat $(WEBCORE_CSS_PROPERTY_NAMES) > CSSPropertyNames.in
437 perl "$(WebCore)/css/makeprop.pl"
439 CSSValueKeywords.h : $(WEBCORE_CSS_VALUE_KEYWORDS) css/makevalues.pl
440 # Lower case all the values, as CSS values are case-insensitive
441 perl -ne 'print lc' $(WEBCORE_CSS_VALUE_KEYWORDS) > CSSValueKeywords.in
442 if sort CSSValueKeywords.in | uniq -d | grep -E '^[^#]'; then echo 'Duplicate value!'; exit 1; fi
443 perl "$(WebCore)/css/makevalues.pl"
445 # --------
447 # DOCTYPE strings
449 DocTypeStrings.cpp : html/DocTypeStrings.gperf
450 gperf -CEot -L ANSI-C -k "*" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards $< > $@
452 # --------
454 # HTML entity names
456 HTMLEntityNames.c : html/HTMLEntityNames.gperf
457 gperf -a -L ANSI-C -C -G -c -o -t -k '*' -N findEntity -D -s 2 $< > $@
459 # --------
461 # color names
463 ColorData.c : platform/ColorData.gperf
464 gperf -CDEot -L ANSI-C -k '*' -N findColor -D -s 2 $< > $@
466 # --------
468 # CSS tokenizer
470 tokenizer.cpp : css/tokenizer.flex css/maketokenizer
471 flex -t $< | perl $(WebCore)/css/maketokenizer > $@
473 # --------
475 # CSS grammar
476 # NOTE: Older versions of bison do not inject an inclusion guard, so we add one.
478 CSSGrammar.cpp : css/CSSGrammar.y
479 bison -d -p cssyy $< -o $@
480 touch CSSGrammar.cpp.h
481 touch CSSGrammar.hpp
482 echo '#ifndef CSSGrammar_h' > CSSGrammar.h
483 echo '#define CSSGrammar_h' >> CSSGrammar.h
484 cat CSSGrammar.cpp.h CSSGrammar.hpp >> CSSGrammar.h
485 echo '#endif' >> CSSGrammar.h
486 rm -f CSSGrammar.cpp.h CSSGrammar.hpp
488 # --------
490 # XPath grammar
491 # NOTE: Older versions of bison do not inject an inclusion guard, so we add one.
493 XPathGrammar.cpp : xml/XPathGrammar.y $(PROJECT_FILE)
494 bison -d -p xpathyy $< -o $@
495 touch XPathGrammar.cpp.h
496 touch XPathGrammar.hpp
497 echo '#ifndef XPathGrammar_h' > XPathGrammar.h
498 echo '#define XPathGrammar_h' >> XPathGrammar.h
499 cat XPathGrammar.cpp.h XPathGrammar.hpp >> XPathGrammar.h
500 echo '#endif' >> XPathGrammar.h
501 rm -f XPathGrammar.cpp.h XPathGrammar.hpp
503 # --------
505 # user agent style sheets
507 USER_AGENT_STYLE_SHEETS = $(WebCore)/css/html4.css $(WebCore)/css/quirks.css $(WebCore)/css/view-source.css $(WebCore)/css/svg.css
508 UserAgentStyleSheets.h : css/make-css-file-arrays.pl $(USER_AGENT_STYLE_SHEETS)
509 perl $< $@ UserAgentStyleSheetsData.cpp $(USER_AGENT_STYLE_SHEETS)
511 # --------
513 # lookup tables for old-style JavaScript bindings
515 %.lut.h: %.cpp $(CREATE_HASH_TABLE)
516 $(CREATE_HASH_TABLE) $< -n WebCore > $@
517 %Table.cpp: %.cpp $(CREATE_HASH_TABLE)
518 $(CREATE_HASH_TABLE) $< -n WebCore > $@
520 # --------
522 # HTML tag and attribute names
524 ifeq ($(findstring ENABLE_VIDEO,$(FEATURE_DEFINES)), ENABLE_VIDEO)
525 HTML_FLAGS := $(HTML_FLAGS) ENABLE_VIDEO=1
526 endif
528 ifdef HTML_FLAGS
530 HTMLNames.cpp : dom/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in
531 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --wrapperFactory --extraDefines "$(HTML_FLAGS)"
533 else
535 HTMLNames.cpp : dom/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in
536 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --wrapperFactory
538 endif
540 XMLNames.cpp : dom/make_names.pl xml/xmlattrs.in
541 perl -I $(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlattrs.in
543 # --------
545 ifeq ($(findstring ENABLE_SVG,$(FEATURE_DEFINES)), ENABLE_SVG)
547 WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.SVG.exp
549 ifeq ($(findstring ENABLE_SVG_USE,$(FEATURE_DEFINES)), ENABLE_SVG_USE)
550 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_USE=1
551 endif
553 ifeq ($(findstring ENABLE_SVG_FONTS,$(FEATURE_DEFINES)), ENABLE_SVG_FONTS)
554 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_FONTS=1
555 endif
557 ifeq ($(findstring ENABLE_SVG_FILTERS,$(FEATURE_DEFINES)), ENABLE_SVG_FILTERS)
558 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_FILTERS=1
559 WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.SVG.Filters.exp
560 endif
562 ifeq ($(findstring ENABLE_SVG_AS_IMAGE,$(FEATURE_DEFINES)), ENABLE_SVG_AS_IMAGE)
563 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_AS_IMAGE=1
564 endif
566 ifeq ($(findstring ENABLE_SVG_ANIMATION,$(FEATURE_DEFINES)), ENABLE_SVG_ANIMATION)
567 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_ANIMATION=1
568 WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.SVG.Animation.exp
569 endif
571 ifeq ($(findstring ENABLE_SVG_FOREIGN_OBJECT,$(FEATURE_DEFINES)), ENABLE_SVG_FOREIGN_OBJECT)
572 SVG_FLAGS := $(SVG_FLAGS) ENABLE_SVG_FOREIGN_OBJECT=1
573 WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.SVG.ForeignObject.exp
574 endif
576 # SVG tag and attribute names (need to pass an extra flag if svg experimental features are enabled)
578 ifdef SVG_FLAGS
580 SVGElementFactory.cpp SVGNames.cpp : dom/make_names.pl svg/svgtags.in svg/svgattrs.in
581 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/svg/svgtags.in --attrs $(WebCore)/svg/svgattrs.in --extraDefines "$(SVG_FLAGS)" --factory --wrapperFactory
582 else
584 SVGElementFactory.cpp SVGNames.cpp : dom/make_names.pl svg/svgtags.in svg/svgattrs.in
585 perl -I $(WebCore)/bindings/scripts $< --tags $(WebCore)/svg/svgtags.in --attrs $(WebCore)/svg/svgattrs.in --factory --wrapperFactory
587 endif
589 JSSVGElementWrapperFactory.cpp : SVGNames.cpp
591 XLinkNames.cpp : dom/make_names.pl svg/xlinkattrs.in
592 perl -I $(WebCore)/bindings/scripts $< --attrs $(WebCore)/svg/xlinkattrs.in
594 else
596 SVGElementFactory.cpp :
597 echo > $@
599 SVGNames.cpp :
600 echo > $@
602 XLinkNames.cpp :
603 echo > $@
605 # This file is autogenerated by make_names.pl when SVG is enabled.
607 JSSVGElementWrapperFactory.cpp :
608 echo > $@
610 endif
612 # --------
614 # JavaScript bindings
616 GENERATE_BINDINGS = perl -I $(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl \
617 --include dom --include html --include css --include page --include xml --include svg --outputDir .
619 GENERATE_BINDINGS_SCRIPTS = \
620 bindings/scripts/CodeGenerator.pm \
621 bindings/scripts/IDLParser.pm \
622 bindings/scripts/IDLStructure.pm \
623 bindings/scripts/generate-bindings.pl \
626 JS%.h : %.idl $(GENERATE_BINDINGS_SCRIPTS) bindings/scripts/CodeGeneratorJS.pm
627 $(GENERATE_BINDINGS) --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS $<
629 # ------------------------
631 # Mac-specific rules
633 ifeq ($(OS),MACOS)
635 all : $(filter-out DOMDOMWindow.h DOMMimeType.h DOMPlugin.h,$(DOM_CLASSES:%=DOM%.h))
637 all : CharsetData.cpp WebCore.exp
639 # --------
641 # character set name table
643 CharsetData.cpp : platform/text/mac/make-charset-table.pl platform/text/mac/character-sets.txt platform/text/mac/mac-encodings.txt
644 perl $^ kTextEncoding > $@
646 # --------
648 # export file
650 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)
651 WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.JNI.exp
652 endif
654 # See also "Generate 64-bit Export File" build phase script in WebCore.xcodeproj/project.pbxproj
655 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)
656 WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.NPAPI.exp
657 endif
659 ifeq ($(ENABLE_DASHBOARD_SUPPORT), 1)
660 WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.DashboardSupport.exp
661 endif
663 ifeq ($(findstring 10.4,$(MACOSX_DEPLOYMENT_TARGET)), 10.4)
664 WEBCORE_EXPORT_DEPENDENCIES := $(WEBCORE_EXPORT_DEPENDENCIES) WebCore.Tiger.exp
665 endif
667 WebCore.exp : WebCore.base.exp $(WEBCORE_EXPORT_DEPENDENCIES)
668 cat $^ > $@
670 # --------
672 # Objective-C bindings
674 DOM%.h : %.idl $(GENERATE_BINDINGS_SCRIPTS) bindings/scripts/CodeGeneratorObjC.pm bindings/objc/PublicDOMInterfaces.h
675 $(GENERATE_BINDINGS) --defines "$(FEATURE_DEFINES) LANGUAGE_OBJECTIVE_C" --generator ObjC $<
677 # --------
679 endif
681 # ------------------------