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
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 \
35 $(WebCore
)/inspector \
36 $(WebCore
)/loader
/appcache \
64 CSSVariablesDeclaration \
68 CanvasRenderingContext2D \
104 HTMLBaseFontElement \
105 HTMLBlockquoteElement \
111 HTMLDirectoryElement \
116 HTMLFieldSetElement \
120 HTMLFrameSetElement \
141 HTMLOptGroupElement \
143 HTMLOptionsCollection \
144 HTMLParagraphElement \
152 HTMLTableCaptionElement \
153 HTMLTableCellElement \
154 HTMLTableColElement \
156 HTMLTableRowElement \
157 HTMLTableSectionElement \
158 HTMLTextAreaElement \
187 PositionErrorCallback \
189 ProcessingInstruction \
197 SQLResultSetRowList \
204 SVGAnimateColorElement \
206 SVGAnimateTransformElement \
209 SVGAnimatedEnumeration \
212 SVGAnimatedLengthList \
214 SVGAnimatedNumberList \
215 SVGAnimatedPathData \
217 SVGAnimatedPreserveAspectRatio \
220 SVGAnimatedTransformList \
221 SVGAnimationElement \
225 SVGComponentTransferFunctionElement \
227 SVGDefinitionSrcElement \
233 SVGElementInstanceList \
236 SVGExternalResourcesRequired \
238 SVGFEColorMatrixElement \
239 SVGFEComponentTransferElement \
240 SVGFECompositeElement \
241 SVGFEDiffuseLightingElement \
242 SVGFEDisplacementMapElement \
243 SVGFEDistantLightElement \
249 SVGFEGaussianBlurElement \
252 SVGFEMergeNodeElement \
254 SVGFEPointLightElement \
255 SVGFESpecularLightingElement \
256 SVGFESpotLightElement \
258 SVGFETurbulenceElement \
260 SVGFilterPrimitiveStandardAttributes \
264 SVGFontFaceFormatElement \
265 SVGFontFaceNameElement \
266 SVGFontFaceSrcElement \
267 SVGFontFaceUriElement \
268 SVGForeignObjectElement \
278 SVGLinearGradientElement \
284 SVGMissingGlyphElement \
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 \
308 SVGPathSegMovetoAbs \
309 SVGPathSegMovetoRel \
315 SVGPreserveAspectRatio \
316 SVGRadialGradientElement \
332 SVGTextContentElement \
335 SVGTextPositioningElement \
356 WebKitAnimationEvent \
357 WebKitCSSKeyframeRule \
358 WebKitCSSKeyframesRule \
359 WebKitCSSTransformValue \
360 WebKitTransitionEvent \
363 XMLHttpRequestException \
364 XMLHttpRequestProgressEvent \
365 XMLHttpRequestUpload \
378 $(filter-out JSEventListener.h JSRGBColor.h
,$(DOM_CLASSES
:%=JS
%.h
)) \
380 JSDOMWindowBase.lut.h \
383 JSJavaScriptCallFrame.h \
392 JSSVGElementWrapperFactory.
cpp \
393 SVGElementFactory.
cpp \
395 UserAgentStyleSheets.h \
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
411 ENABLE_DASHBOARD_SUPPORT
= 0
416 ENABLE_DASHBOARD_SUPPORT
= 0
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
430 ifeq ($(ENABLE_DASHBOARD_SUPPORT
), 1)
431 WEBCORE_CSS_PROPERTY_NAMES
:= $(WEBCORE_CSS_PROPERTY_NAMES
) $(WebCore
)/css
/DashboardSupportCSSPropertyNames.in
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"
449 DocTypeStrings.
cpp : html
/DocTypeStrings.gperf
450 gperf
-CEot
-L ANSI-C
-k
"*" -N findDoctypeEntry
-F
,PubIDInfo
::eAlmostStandards
,PubIDInfo
::eAlmostStandards
$< > $@
456 HTMLEntityNames.c
: html
/HTMLEntityNames.gperf
457 gperf
-a
-L ANSI-C
-C
-G
-c
-o
-t
-k
'*' -N findEntity
-D
-s
2 $< > $@
463 ColorData.c
: platform
/ColorData.gperf
464 gperf
-CDEot
-L ANSI-C
-k
'*' -N findColor
-D
-s
2 $< > $@
470 tokenizer.
cpp : css
/tokenizer.flex css
/maketokenizer
471 flex
-t
$< | perl
$(WebCore
)/css
/maketokenizer
> $@
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
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
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
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
)
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
> $@
522 # HTML tag and attribute names
524 ifeq ($(findstring ENABLE_VIDEO
,$(FEATURE_DEFINES
)), ENABLE_VIDEO
)
525 HTML_FLAGS
:= $(HTML_FLAGS
) ENABLE_VIDEO
=1
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)"
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
540 XMLNames.
cpp : dom
/make_names.pl xml
/xmlattrs.in
541 perl
-I
$(WebCore
)/bindings
/scripts
$< --attrs
$(WebCore
)/xml
/xmlattrs.in
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
553 ifeq ($(findstring ENABLE_SVG_FONTS
,$(FEATURE_DEFINES
)), ENABLE_SVG_FONTS
)
554 SVG_FLAGS
:= $(SVG_FLAGS
) ENABLE_SVG_FONTS
=1
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
562 ifeq ($(findstring ENABLE_SVG_AS_IMAGE
,$(FEATURE_DEFINES
)), ENABLE_SVG_AS_IMAGE
)
563 SVG_FLAGS
:= $(SVG_FLAGS
) ENABLE_SVG_AS_IMAGE
=1
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
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
576 # SVG tag and attribute names (need to pass an extra flag if svg experimental features are enabled)
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
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
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
596 SVGElementFactory.
cpp :
605 # This file is autogenerated by make_names.pl when SVG is enabled.
607 JSSVGElementWrapperFactory.
cpp :
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 # ------------------------
635 all : $(filter-out DOMDOMWindow.h DOMMimeType.h DOMPlugin.h
,$(DOM_CLASSES
:%=DOM
%.h
))
637 all : CharsetData.
cpp WebCore.exp
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
> $@
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
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
659 ifeq ($(ENABLE_DASHBOARD_SUPPORT
), 1)
660 WEBCORE_EXPORT_DEPENDENCIES
:= $(WEBCORE_EXPORT_DEPENDENCIES
) WebCore.DashboardSupport.exp
663 ifeq ($(findstring 10.4,$(MACOSX_DEPLOYMENT_TARGET
)), 10.4)
664 WEBCORE_EXPORT_DEPENDENCIES
:= $(WEBCORE_EXPORT_DEPENDENCIES
) WebCore.Tiger.exp
667 WebCore.exp
: WebCore.base.exp
$(WEBCORE_EXPORT_DEPENDENCIES
)
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
$<
681 # ------------------------