1 # Copyright (C) 2006 Apple Computer, 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
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.
30 $(WebCore)/bindings/js \
31 $(WebCore)/bindings/objc \
37 $(WebCore)/ksvg2/svg \
38 $(WebCore)/ksvg2/bindings/js \
48 DOMCSSFontFaceRule.h \
52 DOMCSSPrimitiveValue.h \
55 DOMCSSStyleDeclaration.h \
64 DOMDOMImplementation.h \
66 DOMDocumentFragment.h \
70 DOMEntityReference.h \
73 DOMHTMLAnchorElement.h \
74 DOMHTMLAreaElement.h \
76 DOMHTMLBaseElement.h \
77 DOMHTMLBaseFontElement.h \
78 DOMHTMLBodyElement.h \
79 DOMHTMLButtonElement.h \
81 DOMHTMLDListElement.h \
82 DOMHTMLDirectoryElement.h \
85 DOMHTMLFieldSetElement.h \
86 DOMHTMLFontElement.h \
87 DOMHTMLFormElement.h \
88 DOMHTMLFrameElement.h \
89 DOMHTMLFrameSetElement.h \
91 DOMHTMLHeadElement.h \
92 DOMHTMLHeadingElement.h \
93 DOMHTMLHtmlElement.h \
94 DOMHTMLIFrameElement.h \
95 DOMHTMLImageElement.h \
96 DOMHTMLInputElement.h \
97 DOMHTMLIsIndexElement.h \
99 DOMHTMLLabelElement.h \
100 DOMHTMLLegendElement.h \
101 DOMHTMLLinkElement.h \
102 DOMHTMLMapElement.h \
103 DOMHTMLMenuElement.h \
104 DOMHTMLMetaElement.h \
105 DOMHTMLModElement.h \
106 DOMHTMLOListElement.h \
107 DOMHTMLObjectElement.h \
108 DOMHTMLOptGroupElement.h \
109 DOMHTMLOptionsCollection.h \
110 DOMHTMLParagraphElement.h \
111 DOMHTMLParamElement.h \
112 DOMHTMLPreElement.h \
113 DOMHTMLQuoteElement.h \
114 DOMHTMLScriptElement.h \
115 DOMHTMLSelectElement.h \
116 DOMHTMLStyleElement.h \
117 DOMHTMLTableCaptionElement.h \
118 DOMHTMLTableCellElement.h \
119 DOMHTMLTableColElement.h \
120 DOMHTMLTableElement.h \
121 DOMHTMLTableRowElement.h \
122 DOMHTMLTableSectionElement.h \
123 DOMHTMLTextAreaElement.h \
124 DOMHTMLTitleElement.h \
125 DOMHTMLUListElement.h \
135 DOMProcessingInstruction.h \
138 DOMStyleSheetList.h \
143 DOMXPathExpression.h \
144 DOMXPathNSResolver.h \
157 JSCSSPrimitiveValue.h \
164 JSCanvasRenderingContext2D.h \
167 JSCSSStyleDeclaration.h \
168 JSDOMImplementation.h \
172 JSDocumentFragment.h \
177 JSHTMLAppletElement.h \
178 JSHTMLAnchorElement.h \
179 JSHTMLAreaElement.h \
180 JSHTMLBaseElement.h \
181 JSHTMLBaseFontElement.h \
182 JSHTMLBlockquoteElement.h \
183 JSHTMLBodyElement.h \
185 JSHTMLButtonElement.h \
186 JSHTMLCanvasElement.h \
187 JSHTMLDirectoryElement.h \
189 JSHTMLDListElement.h \
192 JSHTMLFieldSetElement.h \
193 JSHTMLFontElement.h \
194 JSHTMLFormElement.h \
195 JSHTMLHeadElement.h \
196 JSHTMLHeadingElement.h \
198 JSHTMLImageElement.h \
199 JSHTMLIsIndexElement.h \
200 JSHTMLHtmlElement.h \
201 JSHTMLInputElement.h \
202 JSHTMLInputElementBaseTable.cpp \
203 JSHTMLLabelElement.h \
204 JSHTMLLegendElement.h \
206 JSHTMLLinkElement.h \
207 JSHTMLMenuElement.h \
208 JSHTMLOptionElement.h \
209 JSHTMLOptionsCollection.h \
210 JSHTMLOptGroupElement.h \
211 JSHTMLQuoteElement.h \
213 JSHTMLMetaElement.h \
215 JSHTMLOListElement.h \
216 JSHTMLParagraphElement.h \
217 JSHTMLParamElement.h \
219 JSHTMLScriptElement.h \
220 JSHTMLStyleElement.h \
221 JSHTMLTextAreaElement.h \
222 JSHTMLTitleElement.h \
223 JSHTMLUListElement.h \
232 JSProcessingInstruction.h \
238 JSSVGAnimatedAngle.h \
239 JSSVGAnimateColorElement.h \
240 JSSVGAnimateElement.h \
241 JSSVGAnimateTransformElement.h \
242 JSSVGAnimatedBoolean.h \
243 JSSVGAnimatedEnumeration.h \
244 JSSVGAnimatedInteger.h \
245 JSSVGAnimatedLength.h \
246 JSSVGAnimatedLengthList.h \
247 JSSVGAnimatedNumber.h \
248 JSSVGAnimatedNumberList.h \
249 JSSVGAnimatedPoints.h \
250 JSSVGAnimatedPreserveAspectRatio.h \
251 JSSVGAnimatedRect.h \
252 JSSVGAnimatedString.h \
253 JSSVGAnimatedTransformList.h \
254 JSSVGAnimationElement.h \
256 JSSVGCircleElement.h \
257 JSSVGClipPathElement.h \
258 JSSVGComponentTransferFunctionElement.h \
259 JSSVGCursorElement.h \
265 JSSVGMetadataElement.h \
268 JSSVGPathSegArcAbs.h \
269 JSSVGPathSegArcRel.h \
270 JSSVGPathSegClosePath.h \
271 JSSVGPathSegCurvetoCubicAbs.h \
272 JSSVGPathSegCurvetoCubicRel.h \
273 JSSVGPathSegCurvetoCubicSmoothAbs.h \
274 JSSVGPathSegCurvetoCubicSmoothRel.h \
275 JSSVGPathSegCurvetoQuadraticAbs.h \
276 JSSVGPathSegCurvetoQuadraticRel.h \
277 JSSVGPathSegCurvetoQuadraticSmoothAbs.h \
278 JSSVGPathSegCurvetoQuadraticSmoothRel.h \
279 JSSVGPathSegLinetoAbs.h \
280 JSSVGPathSegLinetoHorizontalAbs.h \
281 JSSVGPathSegLinetoHorizontalRel.h \
282 JSSVGPathSegLinetoRel.h \
283 JSSVGPathSegLinetoVerticalAbs.h \
284 JSSVGPathSegLinetoVerticalRel.h \
285 JSSVGPathSegMovetoAbs.h \
286 JSSVGPathSegMovetoRel.h \
290 JSSVGPatternElement.h \
292 JSSVGPolygonElement.h \
293 JSSVGPolylineElement.h \
294 JSSVGRadialGradientElement.h \
296 JSSVGRenderingIntent.h \
298 JSSVGScriptElement.h \
299 JSSVGStyleElement.h \
300 JSSVGSwitchElement.h \
303 JSSVGSymbolElement.h \
305 JSSVGTSpanElement.h \
307 JSSVGTextContentElement.h \
308 JSSVGTextPositioningElement.h \
309 JSSVGTitleElement.h \
311 JSSVGTransformList.h \
315 JSSVGPointTable.cpp \
316 JSSVGPreserveAspectRatio.h \
320 JSSVGEllipseElement.h \
321 JSSVGFEBlendElement.h \
322 JSSVGFEColorMatrixElement.h \
323 JSSVGFEComponentTransferElement.h \
324 JSSVGFECompositeElement.h \
325 JSSVGFEDiffuseLightingElement.h \
326 JSSVGFEDisplacementMapElement.h \
327 JSSVGFEDistantLightElement.h \
328 JSSVGFEFloodElement.h \
329 JSSVGFEFuncAElement.h \
330 JSSVGFEFuncBElement.h \
331 JSSVGFEFuncGElement.h \
332 JSSVGFEFuncRElement.h \
333 JSSVGFEGaussianBlurElement.h \
334 JSSVGFEImageElement.h \
335 JSSVGFEMergeElement.h \
336 JSSVGFEMergeNodeElement.h \
337 JSSVGFEOffsetElement.h \
338 JSSVGFEPointLightElement.h \
339 JSSVGFESpecularLightingElement.h \
340 JSSVGFESpotLightElement.h \
341 JSSVGFETileElement.h \
342 JSSVGFETurbulenceElement.h \
343 JSSVGFilterElement.h \
344 JSSVGForeignObjectElement.h \
346 JSSVGGradientElement.h \
347 JSSVGImageElement.h \
351 JSSVGLinearGradientElement.h \
353 JSSVGMarkerElement.h \
359 JSXPathExpression.h \
360 JSXPathNSResolver.h \
363 JSXMLHttpRequest.lut.h \
365 JSXSLTProcessor.lut.h \
366 SVGElementFactory.cpp \
369 UserAgentStyleSheets.h \
377 kjs_navigator.lut.h \
378 kjs_traversal.lut.h \
380 ksvgcssproperties.h \
385 # CSS property names and value keywords
387 CSSPropertyNames.h : css/CSSPropertyNames.in css/makeprop
388 cat $< > CSSPropertyNames.in
389 sh "$(WebCore)/css/makeprop"
391 CSSValueKeywords.h : css/CSSValueKeywords.in css/makevalues
392 cat $< > CSSValueKeywords.in
393 sh "$(WebCore)/css/makevalues"
397 DocTypeStrings.cpp : html/DocTypeStrings.gperf
398 gperf -CEot -L ANSI-C -k "*" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards $< > $@
402 HTMLEntityNames.c : html/HTMLEntityNames.gperf
403 gperf -a -L ANSI-C -C -G -c -o -t -k '*' -N findEntity -D -s 2 $< > $@
407 ColorData.c : platform/ColorData.gperf
408 gperf -CDEot -L ANSI-C -k '*' -N findColor -D -s 2 $< > $@
412 tokenizer.cpp : css/tokenizer.flex css/maketokenizer
413 flex -t $< | perl $(WebCore)/css/maketokenizer > $@
417 CSSGrammar.cpp : css/CSSGrammar.y
418 bison -d -p cssyy $< -o $@
419 touch CSSGrammar.cpp.h
421 cat CSSGrammar.cpp.h CSSGrammar.hpp > CSSGrammar.h
422 rm -f CSSGrammar.cpp.h CSSGrammar.hpp
426 XPathGrammar.cpp : xml/XPathGrammar.y $(PROJECT_FILE)
427 bison -d -p xpathyy $< -o $@
428 touch XPathGrammar.cpp.h
429 touch XPathGrammar.hpp
430 cat XPathGrammar.cpp.h XPathGrammar.hpp > XPathGrammar.h
431 rm -f XPathGrammar.cpp.h XPathGrammar.hpp
433 # user agent style sheets
435 USER_AGENT_STYLE_SHEETS = $(WebCore)/css/html4.css $(WebCore)/css/quirks.css $(WebCore)/css/view-source.css $(WebCore)/css/svg.css
436 UserAgentStyleSheets.h : css/make-css-file-arrays.pl $(USER_AGENT_STYLE_SHEETS)
437 perl $< $@ UserAgentStyleSheetsData.cpp $(USER_AGENT_STYLE_SHEETS)
439 # character set name table
441 CharsetData.cpp : platform/make-charset-table.pl platform/character-sets.txt $(ENCODINGS_FILE)
442 perl $^ $(ENCODINGS_PREFIX) > $@
444 # lookup tables for old-style JavaScript bindings
446 %.lut.h: %.cpp $(CREATE_HASH_TABLE)
447 $(CREATE_HASH_TABLE) $< > $@
448 %Table.cpp: %.cpp $(CREATE_HASH_TABLE)
449 $(CREATE_HASH_TABLE) $< > $@
451 # HTML tag and attribute names
453 HTMLNames.cpp : ksvg2/scripts/make_names.pl html/HTMLTagNames.in html/HTMLAttributeNames.in
454 perl $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in \
455 --namespace HTML --namespacePrefix xhtml --cppNamespace WebCore --namespaceURI "http://www.w3.org/1999/xhtml" --attrsNullNamespace --output .
457 ifeq ($(findstring SVG_SUPPORT,$(FEATURE_DEFINES)), SVG_SUPPORT)
459 # SVG tag and attribute names
460 SVGElementFactory.cpp SVGNames.cpp : ksvg2/scripts/make_names.pl ksvg2/svg/svgtags.in ksvg2/svg/svgattrs.in
461 perl $< --tags $(WebCore)/ksvg2/svg/svgtags.in --attrs $(WebCore)/ksvg2/svg/svgattrs.in \
462 --namespace SVG --cppNamespace WebCore --namespaceURI "http://www.w3.org/2000/svg" --factory --attrsNullNamespace --output .
464 XLinkNames.cpp : ksvg2/scripts/make_names.pl ksvg2/misc/xlinkattrs.in
465 perl $< --attrs $(WebCore)/ksvg2/misc/xlinkattrs.in \
466 --namespace XLink --cppNamespace WebCore --namespaceURI "http://www.w3.org/1999/xlink" --output .
468 XMLNames.cpp : ksvg2/scripts/make_names.pl xml/xmlattrs.in
469 perl $< --attrs $(WebCore)/xml/xmlattrs.in \
470 --namespace XML --cppNamespace WebCore --namespaceURI "http://www.w3.org/XML/1998/namespace" --output .
472 # SVG CSS property names and value keywords
474 ksvgcssproperties.h : ksvg2/scripts/cssmakeprops css/CSSPropertyNames.in ksvg2/css/CSSPropertyNames.in
475 if sort $(WebCore)/css/CSSPropertyNames.in $(WebCore)/ksvg2/css/CSSPropertyNames.in | uniq -d | grep -E '^[^#]'; then echo 'Duplicate value!'; exit 1; fi
476 cat $(WebCore)/ksvg2/css/CSSPropertyNames.in > ksvgcssproperties.in
477 $(WebCore)/ksvg2/scripts/cssmakeprops -n SVG -f ksvgcssproperties.in
479 ksvgcssvalues.h : ksvg2/scripts/cssmakevalues css/CSSValueKeywords.in ksvg2/css/CSSValueKeywords.in
480 if sort $(WebCore)/css/CSSValueKeywords.in $(WebCore)/ksvg2/css/CSSValueKeywords.in | uniq -d | grep -E '^[^#]'; then echo 'Duplicate value!'; exit 1; fi
481 # Lower case all the values, as CSS values are case-insensitive
482 perl -ne 'print lc' $(WebCore)/ksvg2/css/CSSValueKeywords.in > ksvgcssvalues.in
483 $(WebCore)/ksvg2/scripts/cssmakevalues -n SVG -f ksvgcssvalues.in
487 SVGElementFactory.cpp :
488 echo > SVGElementFactory.cpp
494 echo > XLinkNames.cpp
499 ksvgcssproperties.h :
500 echo > ksvgcssproperties.h
503 echo > ksvgcssvalues.h
507 # new-style Objective-C bindings
509 OBJC_BINDINGS_SCRIPTS = \
510 bindings/scripts/CodeGenerator.pm \
511 bindings/scripts/CodeGeneratorObjC.pm \
512 bindings/scripts/IDLParser.pm \
513 bindings/scripts/IDLStructure.pm \
514 bindings/scripts/generate-bindings.pl \
517 DOM%.h : %.idl $(OBJC_BINDINGS_SCRIPTS) bindings/objc/PublicDOMInterfaces.h
518 perl -I $(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_OBJECTIVE_C" --generator ObjC --include $(WebCore)/dom --include $(WebCore)/html --include $(WebCore)/xpath --include $(WebCore)/ksvg2/svg --outputdir . $<
520 # new-style JavaScript bindings
522 JS_BINDINGS_SCRIPTS = \
523 bindings/scripts/CodeGenerator.pm \
524 bindings/scripts/CodeGeneratorJS.pm \
525 bindings/scripts/IDLParser.pm \
526 bindings/scripts/IDLStructure.pm \
527 bindings/scripts/generate-bindings.pl \
530 JS%.h : %.idl $(JS_BINDINGS_SCRIPTS)
531 perl -I $(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --include xml --include ksvg2/svg --outputdir . $<