include $(srcdir)/Source/WebCore/GNUmakefile.features.am
include $(srcdir)/Source/WebCore/GNUmakefile.list.am

WEBCORE_CSS_PROPERTY_NAMES := $(WebCore)/css/CSSPropertyNames.in
WEBCORE_CSS_VALUE_KEYWORDS := $(WebCore)/css/CSSValueKeywords.in

webcore_cppflags += \
	-I$(srcdir)/Source/ThirdParty/ANGLE/src \
	-I$(srcdir)/Source/ThirdParty/ANGLE/include \
	-I$(srcdir)/Source/ThirdParty/ANGLE/include/GLSLANG \
	-I$(srcdir)/Source/WebCore \
	-I$(srcdir)/Source/WebCore/Modules/filesystem \
	-I$(srcdir)/Source/WebCore/Modules/gamepad \
	-I$(srcdir)/Source/WebCore/Modules/geolocation \
	-I$(srcdir)/Source/WebCore/Modules/indexeddb \
	-I$(srcdir)/Source/WebCore/Modules/mediasource \
	-I$(srcdir)/Source/WebCore/Modules/mediastream \
	-I$(srcdir)/Source/WebCore/Modules/navigatorcontentutils \
	-I$(srcdir)/Source/WebCore/Modules/notifications \
	-I$(srcdir)/Source/WebCore/Modules/quota \
	-I$(srcdir)/Source/WebCore/Modules/webaudio \
	-I$(srcdir)/Source/WebCore/Modules/webdatabase \
	-I$(srcdir)/Source/WebCore/Modules/websockets \
	-I$(srcdir)/Source/WebCore/accessibility \
	-I$(srcdir)/Source/WebCore/bindings \
	-I$(srcdir)/Source/WebCore/bindings/generic \
	-I$(srcdir)/Source/WebCore/bindings/js \
	-I$(srcdir)/Source/WebCore/bridge \
	-I$(srcdir)/Source/WebCore/bridge/c \
	-I$(srcdir)/Source/WebCore/bridge/jsc \
	-I$(srcdir)/Source/WebCore/css \
	-I$(srcdir)/Source/WebCore/dom \
	-I$(srcdir)/Source/WebCore/dom/default \
	-I$(srcdir)/Source/WebCore/editing \
	-I$(srcdir)/Source/WebCore/fileapi \
	-I$(srcdir)/Source/WebCore/history \
	-I$(srcdir)/Source/WebCore/html \
	-I$(srcdir)/Source/WebCore/html/canvas \
	-I$(srcdir)/Source/WebCore/html/parser \
	-I$(srcdir)/Source/WebCore/html/shadow \
	-I$(srcdir)/Source/WebCore/html/track \
	-I$(srcdir)/Source/WebCore/inspector \
	-I$(srcdir)/Source/WebCore/loader \
	-I$(srcdir)/Source/WebCore/loader/appcache \
	-I$(srcdir)/Source/WebCore/loader/archive \
	-I$(srcdir)/Source/WebCore/loader/archive/mhtml \
	-I$(srcdir)/Source/WebCore/loader/cache \
	-I$(srcdir)/Source/WebCore/loader/icon \
	-I$(srcdir)/Source/WebCore/mathml \
	-I$(srcdir)/Source/WebCore/page \
	-I$(srcdir)/Source/WebCore/page/animation \
	-I$(srcdir)/Source/WebCore/page/scrolling \
	-I$(srcdir)/Source/WebCore/platform \
	-I$(srcdir)/Source/WebCore/platform/animation \
	-I$(srcdir)/Source/WebCore/platform/audio \
	-I$(srcdir)/Source/WebCore/platform/graphics \
	-I$(srcdir)/Source/WebCore/platform/graphics/filters \
	-I$(srcdir)/Source/WebCore/platform/graphics/filters/arm \
	-I$(srcdir)/Source/WebCore/platform/graphics/gpu \
	-I$(srcdir)/Source/WebCore/platform/graphics/opengl \
	-I$(srcdir)/Source/WebCore/platform/graphics/opentype \
	-I$(srcdir)/Source/WebCore/platform/graphics/transforms \
	-I$(srcdir)/Source/WebCore/platform/image-decoders \
	-I$(srcdir)/Source/WebCore/platform/image-decoders/bmp \
	-I$(srcdir)/Source/WebCore/platform/image-decoders/gif \
	-I$(srcdir)/Source/WebCore/platform/image-decoders/ico \
	-I$(srcdir)/Source/WebCore/platform/image-decoders/jpeg \
	-I$(srcdir)/Source/WebCore/platform/image-decoders/webp \
	-I$(srcdir)/Source/WebCore/platform/image-decoders/png \
	-I$(srcdir)/Source/WebCore/platform/leveldb \
	-I$(srcdir)/Source/WebCore/platform/linux \
	-I$(srcdir)/Source/WebCore/platform/mediastream \
	-I$(srcdir)/Source/WebCore/platform/mediastream/gstreamer \
	-I$(srcdir)/Source/WebCore/platform/mock \
	-I$(srcdir)/Source/WebCore/platform/network \
	-I$(srcdir)/Source/WebCore/platform/network/gtk \
	-I$(srcdir)/Source/WebCore/platform/sql \
	-I$(srcdir)/Source/WebCore/platform/text \
	-I$(srcdir)/Source/WebCore/platform/text/transcoder \
	-I$(srcdir)/Source/WebCore/platform/win \
	-I$(srcdir)/Source/WebCore/plugins \
	-I$(srcdir)/Source/WebCore/plugins/win \
	-I$(srcdir)/Source/WebCore/rendering \
	-I$(srcdir)/Source/WebCore/rendering/mathml \
	-I$(srcdir)/Source/WebCore/rendering/style \
	-I$(srcdir)/Source/WebCore/rendering/svg \
	-I$(srcdir)/Source/WebCore/storage \
	-I$(srcdir)/Source/WebCore/svg \
	-I$(srcdir)/Source/WebCore/svg/animation \
	-I$(srcdir)/Source/WebCore/svg/graphics \
	-I$(srcdir)/Source/WebCore/svg/graphics/filters \
	-I$(srcdir)/Source/WebCore/svg/properties \
	-I$(srcdir)/Source/WebCore/testing \
	-I$(srcdir)/Source/WebCore/testing/js \
	-I$(srcdir)/Source/WebCore/websockets \
	-I$(srcdir)/Source/WebCore/workers \
	-I$(srcdir)/Source/WebCore/xml \
	-I$(srcdir)/Source/WebCore/xml/parser \
	-I$(top_builddir)/WebCore/bindings/js \
	-I$(top_builddir)/DerivedSources/WebCore \
	-I$(top_builddir)/DerivedSources \
	-I$(top_builddir)/DerivedSources/JavaScriptCore \
	-DDATA_DIR=\"${datadir}\"

webcoregtk_cppflags += \
	-DWEBKITGTK_API_VERSION_STRING=\"@WEBKITGTK_API_VERSION@\" \
	-DWTF_USE_SOUP=1 \
	-I$(srcdir)/Source/WebCore/accessibility/gtk \
	-I$(srcdir)/Source/WebCore/loader/gtk \
	-I$(srcdir)/Source/WebCore/page/gtk \
	-I$(srcdir)/Source/WebCore/platform/cairo \
	-I$(srcdir)/Source/WebCore/platform/audio/gstreamer \
	-I$(srcdir)/Source/WebCore/platform/geoclue \
	-I$(srcdir)/Source/WebCore/platform/graphics/cairo \
	-I$(srcdir)/Source/WebCore/platform/graphics/glx \
	-I$(srcdir)/Source/WebCore/platform/graphics/egl \
	-I$(srcdir)/Source/WebCore/platform/graphics/gstreamer \
	-I$(srcdir)/Source/WebCore/platform/graphics/gtk \
	-I$(srcdir)/Source/WebCore/platform/gtk \
	-I$(srcdir)/Source/WebCore/platform/network/soup \
	-I$(srcdir)/Source/WebCore/platform/text/enchant

# ---
# FreeType font backend
# ---
if USE_FREETYPE
webcoregtk_cppflags += \
	-DWTF_USE_FREETYPE=1 \
	-I$(srcdir)/Source/WebCore/platform/graphics/freetype
endif # END USE_FREETYPE

# ---
# Pango font backend
# ---
if USE_PANGO
webcoregtk_cppflags += \
	-DWTF_USE_PANGO=1 \
	-I$(srcdir)/Source/WebCore/platform/graphics/pango
endif # END USE_PANGO

# ---
# Windows plugin support
# ---
if TARGET_WIN32
webcoregtk_cppflags += \
	-I$(srcdir)/Source/WebCore/platform/graphics/win
endif # END TARGET_WIN32

# ----
# Gamepad support
# ---
if ENABLE_GAMEPAD
feature_defines_overrides += ENABLE_GAMEPAD=1
else
feature_defines_overrides += ENABLE_GAMEPAD=0
endif # END ENABLE_GAMEPAD

# ----
# Indexed Database API support
# ----
if ENABLE_INDEXED_DATABASE
feature_defines_overrides += ENABLE_INDEXED_DATABASE=1
else
feature_defines_overrides += ENABLE_INDEXED_DATABASE=0
endif # END ENABLE_INDEXED_DATABASE

if USE_LEVELDB
webcore_cppflags += -DWTF_USE_LEVELDB
endif # END USE_LEVELDB

# ----
# Video Support
# ----
if ENABLE_VIDEO
feature_defines_overrides += ENABLE_VIDEO=1
if USE_GSTREAMER
if ENABLE_DEBUG
webcore_cppflags += -DGST_DISABLE_DEPRECATED
endif # END ENABLE_DEBUG
endif # END USE_GSTREAMER
else
feature_defines_overrides += ENABLE_VIDEO=0 ENABLE_VIDEO_TRACK=0
endif # END ENABLE_VIDEO

# ----
# Filters
# ----
if ENABLE_CSS_FILTERS
feature_defines_overrides += ENABLE_CSS_FILTERS=1
else
feature_defines_overrides += ENABLE_CSS_FILTERS=0
endif # END ENABLE_CSS_FILTERS

# ----
# Media Stream Support
# ----
if ENABLE_MEDIA_STREAM
feature_defines_overrides += ENABLE_MEDIA_STREAM=1
else
feature_defines_overrides += ENABLE_MEDIA_STREAM=0
endif # END ENABLE_MEDIA_STREAM

# XPath grammar
$(GENSOURCES_WEBCORE)/XPathGrammar.h: $(GENSOURCES_WEBCORE)/XPathGrammar.cpp
$(GENSOURCES_WEBCORE)/XPathGrammar.cpp: $(WebCore)/xml/XPathGrammar.y
	$(AM_V_GEN)
	$(AM_V_at)perl $(WebCore)/css/makegrammar.pl --outputDir $(GENSOURCES_WEBCORE) --bison "$(BISON)" --symbolsPrefix xpathyy $<

# ----
# XHR timeout Support
# ----
if ENABLE_XHR_TIMEOUT
feature_defines_overrides += ENABLE_XHR_TIMEOUT=1
else
feature_defines_overrides += ENABLE_XHR_TIMEOUT=0
endif # END ENABLE_XHR_TIMEOUT

# ----
# XSLT Support
# ----
if ENABLE_XSLT
feature_defines_overrides += ENABLE_XSLT=1
else
feature_defines_overrides += ENABLE_XSLT=0
endif # END ENABLE_XSLT

# ----
# Filters
# ----
if ENABLE_FILTERS
feature_defines_overrides += ENABLE_FILTERS=1
else
feature_defines_overrides += ENABLE_FILTERS=0
endif # END ENABLE_FILTERS

# ----
# CSS Device Adaptation
# ----
if ENABLE_CSS_DEVICE_ADAPTATION
feature_defines_overrides += ENABLE_CSS_DEVICE_ADAPTATION=1
else
feature_defines_overrides += ENABLE_CSS_DEVICE_ADAPTATION=0
endif # END ENABLE_CSS_DEVICE_ADAPTATION

# ----
# Shaders
# ----
if ENABLE_CSS_SHADERS
feature_defines_overrides += ENABLE_CSS_SHADERS=1
else
feature_defines_overrides += ENABLE_CSS_SHADERS=0
endif # END ENABLE_CSS_SHADERS

# ----
# Geolocation
# ----
if ENABLE_GEOLOCATION
feature_defines_overrides += ENABLE_GEOLOCATION=1
else
feature_defines_overrides += ENABLE_GEOLOCATION=0
endif # END ENABLE_GEOLOCATION

# MathML tag and attribute names, and element factory
DerivedSources/WebCore/MathMLElementFactory.h: DerivedSources/WebCore/MathMLElementFactory.cpp
DerivedSources/WebCore/MathMLNames.h: DerivedSources/WebCore/MathMLNames.cpp
DerivedSources/WebCore/MathMLElementFactory.cpp DerivedSources/WebCore/MathMLNames.cpp: $(WebCore)/dom/make_names.pl $(WebCore)/mathml/mathtags.in $(WebCore)/mathml/mathattrs.in
	$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --tags $(WebCore)/mathml/mathtags.in --attrs $(WebCore)/mathml/mathattrs.in --factory --wrapperFactory --outputDir "$(GENSOURCES_WEBCORE)"

# ----
# SVG Support
#
# FIXME: allow a more fine-grained inclusion/generation of sources per SVG feature
# ----
if ENABLE_SVG
feature_defines_overrides += ENABLE_SVG=1
WEBCORE_CSS_PROPERTY_NAMES += $(WebCore)/css/SVGCSSPropertyNames.in
WEBCORE_CSS_VALUE_KEYWORDS += $(WebCore)/css/SVGCSSValueKeywords.in
# SVG Features
if ENABLE_SVG_FONTS
feature_defines_overrides += ENABLE_SVG_FONTS=1
else
feature_defines_overrides += ENABLE_SVG_FONTS=0
endif
else
feature_defines_overrides += ENABLE_SVG=0 ENABLE_SVG_FONTS=0
endif # END ENABLE_SVG

# SVG tag and attribute names (need to pass an extra flag if svg experimental features are enabled)
DerivedSources/WebCore/SVGNames.cpp: DerivedSources/WebCore/SVGElementFactory.cpp
DerivedSources/WebCore/JSSVGElementWrapperFactory.cpp: DerivedSources/WebCore/SVGElementFactory.cpp
DerivedSources/WebCore/SVGElementFactory.cpp: $(WebCore)/dom/make_names.pl $(WebCore)/svg/svgtags.in $(WebCore)/svg/svgattrs.in
	$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --tags $(WebCore)/svg/svgtags.in --attrs $(WebCore)/svg/svgattrs.in --extraDefines "$(feature_defines)" --factory --wrapperFactory --outputDir "$(GENSOURCES_WEBCORE)"

# end SVG Features

DerivedSources/WebCore/XLinkNames.h: DerivedSources/WebCore/XLinkNames.cpp
DerivedSources/WebCore/XLinkNames.cpp : $(WebCore)/dom/make_names.pl $(WebCore)/svg/xlinkattrs.in
	$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --attrs $(WebCore)/svg/xlinkattrs.in --outputDir "$(GENSOURCES_WEBCORE)"

# ----
# Web Audio Support
# ----
if ENABLE_WEB_AUDIO
feature_defines_overrides += ENABLE_WEB_AUDIO=1
else
feature_defines_overrides += ENABLE_WEB_AUDIO=0
endif

if USE_WEBAUDIO_GSTREAMER
webcore_cppflags += -DWTF_USE_WEBAUDIO_GSTREAMER=1
endif

# ---
# 3D canvas (WebGL) support
# ---
if ENABLE_WEBGL
feature_defines_overrides += ENABLE_WEBGL=1
else
feature_defines_overrides += ENABLE_WEBGL=0
endif  # END ENABLE_WEBGL

# ---
# Accelerated compositing support
# ---
if USE_ACCELERATED_COMPOSITING
feature_defines_overrides += ENABLE_3D_RENDERING=1
else
feature_defines_overrides += ENABLE_3D_RENDERING=0
endif  # END USE_ACCELERATED_COMPOSITING

if USE_TEXTURE_MAPPER_CAIRO
webcore_cppflags += \
	-I$(srcdir)/Source/WebCore/platform/graphics/texmap
endif  # END USE_TEXTURE_MAPPER_CAIRO

if USE_TEXTURE_MAPPER_GL
webcore_cppflags += \
	-I$(srcdir)/Source/WebCore/platform/graphics/texmap
endif  # END USETEXTURE_MAPPER_GL

if USE_CLUTTER
webcore_cppflags += \
	-I$(srcdir)/Source/WebCore/platform/clutter \
	-I$(srcdir)/Source/WebCore/platform/graphics/clutter
endif  # END USE_CLUTTER

# ---
# Spell check support
# ---
if ENABLE_SPELLCHECK
feature_defines_overrides += ENABLE_SPELLCHECK=1
else
feature_defines_overrides += ENABLE_SPELLCHECK=0
endif  # END ENABLE_SPELLCHECK

# ---
# CSS3 Conditional Rules support
# ---
if ENABLE_CSS3_CONDITIONAL_RULES
feature_defines_overrides += ENABLE_CSS3_CONDITIONAL_RULES=1
else
feature_defines_overrides += ENABLE_CSS3_CONDITIONAL_RULES=0
endif  # END ENABLE_CSS3_CONDITIONAL_RULES

# ---
# Unstable features
# If unstable features should not be enabled, their defines should be overriden with a 0 value.
# ---
if !ENABLE_UNSTABLE_FEATURES
feature_defines_unstable += \
	ENABLE_CSP_NEXT=0 \
	ENABLE_CSS3_TEXT=0 \
	ENABLE_CSS_STICKY_POSITION=0 \
	ENABLE_LINK_PREFETCH=0 \
	ENABLE_MICRODATA=0 \
	ENABLE_MUTATION_OBSERVERS=0 \
	ENABLE_STYLE_SCOPED=0 \
	ENABLE_VIDEO_TRACK=0 \
	ENABLE_WEB_TIMING=0
endif


# Fill the feature_defines variable with all the defines, making it possible
# to override the default define value (as set in feature_defines_defaults)
# through adding the feature define with the desired value to either
# feature_defines_unstable or feature_defines_overrides.
feature_defines += $(strip $(foreach bare_define, \
	$(foreach define,$(feature_defines_defaults), \
		$(foreach fvalue,0 1, \
			$(if $(findstring =$(fvalue),$(define)),$(patsubst %=$(fvalue),%,$(define))) \
		) \
	), \
	$(if $(findstring $(bare_define)=, $(feature_defines_unstable)), \
		$(filter $(bare_define)=%,$(feature_defines_unstable)), \
		$(if $(findstring $(bare_define)=, $(feature_defines_overrides)), \
			$(filter $(bare_define)=%,$(feature_defines_overrides)), \
			$(filter $(bare_define)=%,$(feature_defines_defaults)) \
		) \
	) \
))

# Add the feature defines to webcore_cppflags in macro form.
webcore_cppflags += $(foreach define,$(feature_defines),-D$(define))


$(WEBCORE_CSS_PROPERTY_NAMES): $(srcdir)/configure.ac $(srcdir)/Source/WebCore/GNUmakefile.am

$(WEBCORE_CSS_VALUE_KEYWORDS): $(srcdir)/configure.ac $(srcdir)/Source/WebCore/GNUmakefile.am

DerivedSources/WebCore/CSSPropertyNames.cpp: DerivedSources/WebCore/CSSPropertyNames.h
DerivedSources/WebCore/CSSPropertyNames.h: $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/makeprop.pl
	$(AM_V_GEN)
	$(AM_V_at)cat $(WEBCORE_CSS_PROPERTY_NAMES) > CSSPropertyNames.in
	$(AM_V_at)$(PERL) -I$(WebCore)/bindings/scripts "$(WebCore)/css/makeprop.pl" --defines "$(feature_defines)"
	$(AM_V_at)mv CSSPropertyNames* $(GENSOURCES_WEBCORE)

# Lower case all the values, as CSS values are case-insensitive
DerivedSources/WebCore/CSSValueKeywords.cpp: DerivedSources/WebCore/CSSValueKeywords.h
DerivedSources/WebCore/CSSValueKeywords.h: $(WEBCORE_CSS_VALUE_KEYWORDS) $(WebCore)/css/makevalues.pl
	$(AM_V_GEN)
	$(AM_V_at)cat $(WEBCORE_CSS_VALUE_KEYWORDS) > CSSValueKeywords.in
	$(AM_V_at)$(PERL) -I$(WebCore)/bindings/scripts "$(WebCore)/css/makevalues.pl" --defines "$(feature_defines)"
	$(AM_V_at)mv CSSValueKeywords* $(GENSOURCES_WEBCORE)

# XML Viewer CSS
DerivedSources/WebCore/XMLViewerCSS.h: $(WebCore)/xml/XMLViewer.css
	$(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl XMLViewer_css $(WebCore)/xml/XMLViewer.css $(GENSOURCES_WEBCORE)/XMLViewerCSS.h

# XML Viewer JS
DerivedSources/WebCore/XMLViewerJS.h: $(WebCore)/xml/XMLViewer.js
	$(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl XMLViewer_js $(WebCore)/xml/XMLViewer.js $(GENSOURCES_WEBCORE)/XMLViewerJS.h

# HTML entity names
DerivedSources/WebCore/HTMLEntityTable.cpp: $(WebCore)/html/parser/HTMLEntityNames.in $(WebCore)/html/parser/create-html-entity-table
	$(AM_V_GEN)$(PYTHON) $(WebCore)/html/parser/create-html-entity-table -o $(GENSOURCES_WEBCORE)/HTMLEntityTable.cpp $(WebCore)/html/parser/HTMLEntityNames.in

# color names
DerivedSources/WebCore/ColorData.cpp: $(WebCore)/platform/ColorData.gperf $(WebCore)/make-hash-tools.pl
	$(AM_V_GEN)$(PERL) $(WebCore)/make-hash-tools.pl $(GENSOURCES_WEBCORE) $(WebCore)/platform/ColorData.gperf

# CSS grammar

DerivedSources/WebCore/CSSGrammar.h: $(GENSOURCES_WEBCORE)/CSSGrammar.cpp
DerivedSources/WebCore/CSSGrammar.cpp: $(WebCore)/css/CSSGrammar.y.in
	$(AM_V_GEN)
	$(AM_V_at)perl -I $(WebCore)/bindings/scripts $(WebCore)/css/makegrammar.pl --extraDefines "$(feature_defines)" --outputDir $(GENSOURCES_WEBCORE) --bison "$(BISON)" --symbolsPrefix cssyy $<

# user agent style sheets
USER_AGENT_STYLE_SHEETS = \
	$(WebCore)/css/html.css \
	$(WebCore)/css/mathml.css \
	$(WebCore)/css/quirks.css \
	$(WebCore)/css/view-source.css \
	$(WebCore)/css/svg.css \
	$(WebCore)/css/mediaControls.css \
	$(WebCore)/css/mediaControlsGtk.css \
	$(WebCore)/css/fullscreen.css

# new-style JavaScript bindings
SCRIPTS_FOR_GENERATE_BINDINGS = \
	$(WebCore)/bindings/scripts/CodeGenerator.pm \
	$(WebCore)/bindings/scripts/IDLParser.pm \
	$(WebCore)/bindings/scripts/IDLStructure.pm \
	$(WebCore)/bindings/scripts/InFilesCompiler.pm \
	$(WebCore)/bindings/scripts/InFilesParser.pm \
	$(WebCore)/bindings/scripts/generate-bindings.pl \
	$(WebCore)/bindings/scripts/preprocessor.pm

SCRIPTS_FOR_PREPROCESS_IDLS = \
	$(WebCore)/bindings/scripts/IDLParser.pm \
	$(WebCore)/bindings/scripts/preprocess-idls.pl

DerivedSources/WebCore/UserAgentStyleSheetsData.cpp: DerivedSources/WebCore/UserAgentStyleSheets.h
DerivedSources/WebCore/UserAgentStyleSheets.h: $(WebCore)/css/make-css-file-arrays.pl $(WebCore)/bindings/scripts/preprocessor.pm $(USER_AGENT_STYLE_SHEETS)
	$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $<  --defines "$(feature_defines)" $@ DerivedSources/WebCore/UserAgentStyleSheetsData.cpp $(USER_AGENT_STYLE_SHEETS)

DerivedSources/WebCore/WebKitFontFamilyNames.cpp: DerivedSources/WebCore/WebKitFontFamilyNames.h
DerivedSources/WebCore/WebKitFontFamilyNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/css/WebKitFontFamilyNames.in
	$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --fonts $(WebCore)/css/WebKitFontFamilyNames.in --outputDir "$(GENSOURCES_WEBCORE)"


# HTML tag and attribute names
DerivedSources/WebCore/JSHTMLElementWrapperFactory.cpp: DerivedSources/WebCore/HTMLElementFactory.cpp
DerivedSources/WebCore/HTMLElementFactory.cpp: DerivedSources/WebCore/HTMLElementFactory.h
DerivedSources/WebCore/HTMLElementFactory.h: DerivedSources/WebCore/HTMLNames.cpp
DerivedSources/WebCore/HTMLNames.cpp: DerivedSources/WebCore/HTMLNames.h
DerivedSources/WebCore/HTMLNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/html/HTMLTagNames.in $(WebCore)/html/HTMLAttributeNames.in
	$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --extraDefines "$(feature_defines)" --factory --wrapperFactory --outputDir "$(GENSOURCES_WEBCORE)"


DerivedSources/WebCore/XMLNSNames.cpp DerivedSources/WebCore/XMLNSNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/xml/xmlnsattrs.in
	$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlnsattrs.in --outputDir "$(GENSOURCES_WEBCORE)"

DerivedSources/WebCore/XMLNames.cpp DerivedSources/WebCore/XMLNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/xml/xmlattrs.in
	$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlattrs.in --outputDir "$(GENSOURCES_WEBCORE)"

DerivedSources/WebCore/EventFactory.cpp DerivedSources/WebCore/EventHeaders.h DerivedSources/WebCore/EventInterfaces.h: $(WebCore)/dom/make_event_factory.pl $(WebCore)/dom/EventNames.in
	$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --input $(WebCore)/dom/EventNames.in --outputDir "$(GENSOURCES_WEBCORE)"

DerivedSources/WebCore/EventTargetHeaders.h DerivedSources/WebCore/EventTargetInterfaces.h: $(WebCore)/dom/make_event_factory.pl $(WebCore)/dom/EventTargetFactory.in
	$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --input $(WebCore)/dom/EventTargetFactory.in --outputDir "$(GENSOURCES_WEBCORE)"

DerivedSources/WebCore/ExceptionCodeDescription.cpp DerivedSources/WebCore/ExceptionCodeDescription.h DerivedSources/WebCore/ExceptionHeaders.h DerivedSources/WebCore/ExceptionInterfaces.h: $(WebCore)/dom/make_dom_exceptions.pl $(WebCore)/dom/DOMExceptions.in
	$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --input $(WebCore)/dom/DOMExceptions.in --outputDir "$(GENSOURCES_WEBCORE)"

# All Web Inspector generated files are created with this one call to CodeGeneratorInspector.py
DerivedSources/WebCore/InspectorProtocolVersion.h : $(WebCore)/inspector/Inspector.json $(WebCore)/inspector/generate-inspector-protocol-version
	$(AM_V_GEN)$(PYTHON) $(WebCore)/inspector/generate-inspector-protocol-version -o $(GENSOURCES_WEBCORE)/InspectorProtocolVersion.h $(WebCore)/inspector/Inspector.json

DerivedSources/WebCore/InspectorBackendDispatcher.cpp: $(WebCore)/inspector/Inspector.json $(WebCore)/inspector/CodeGeneratorInspector.py
	$(AM_V_GEN)$(PYTHON) $(WebCore)/inspector/CodeGeneratorInspector.py $< --output_h_dir $(GENSOURCES_WEBCORE) --output_cpp_dir $(GENSOURCES_WEBCORE)
DerivedSources/WebCore/InspectorTypeBuilder.h: DerivedSources/WebCore/InspectorTypeBuilder.cpp
DerivedSources/WebCore/InspectorTypeBuilder.cpp: DerivedSources/WebCore/InspectorFrontend.h
DerivedSources/WebCore/InspectorFrontend.h: DerivedSources/WebCore/InspectorFrontend.cpp
DerivedSources/WebCore/InspectorFrontend.cpp: DerivedSources/WebCore/InspectorBackendCommands.js
DerivedSources/WebCore/InspectorBackendCommands.js: DerivedSources/WebCore/InspectorBackendDispatcher.h
DerivedSources/WebCore/InspectorBackendDispatcher.h: DerivedSources/WebCore/InspectorBackendDispatcher.cpp
DerivedSources/WebCore/InspectorOverlayPage.h: $(WebCore)/inspector/InspectorOverlayPage.html
	$(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl InspectorOverlayPage_html $(WebCore)/inspector/InspectorOverlayPage.html $(GENSOURCES_WEBCORE)/InspectorOverlayPage.h
DerivedSources/WebCore/InjectedScriptCanvasModuleSource.h: $(WebCore)/inspector/InjectedScriptCanvasModuleSource.js
	$(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl InjectedScriptCanvasModuleSource_js $(WebCore)/inspector/InjectedScriptCanvasModuleSource.js $(GENSOURCES_WEBCORE)/InjectedScriptCanvasModuleSource.h
DerivedSources/WebCore/InjectedScriptSource.h: $(WebCore)/inspector/InjectedScriptSource.js
	$(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl InjectedScriptSource_js $(WebCore)/inspector/InjectedScriptSource.js $(GENSOURCES_WEBCORE)/InjectedScriptSource.h

if ENABLE_WEB_AUDIO
# Installing HRTF database wav files
audiodir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/resources/audio/
audio_DATA = $(WebCore)/platform/audio/resources/Composite.wav
dist_audio_DATA = $(audio_DATA)
endif  # END ENABLE_WEB_AUDIO

# ANGLE tokenizer & parser
DerivedSources/ANGLE/glslang.cpp: Source/ThirdParty/ANGLE/src/compiler/glslang.l
	$(AM_V_GEN)$(FLEX) --noline --nounistd --outfile="$@" "$<"

DerivedSources/ANGLE/glslang_tab.cpp: Source/ThirdParty/ANGLE/src/compiler/glslang.y
	$(AM_V_GEN)$(BISON) --no-lines --defines="DerivedSources/ANGLE/glslang_tab.h" --skeleton=yacc.c --output="$@" $<
DerivedSources/ANGLE/glslang_tab.h: DerivedSources/ANGLE/glslang_tab.cpp

IDL_PATH := \
    $(WebCore)/Modules/filesystem \
    $(WebCore)/Modules/gamepad \
    $(WebCore)/Modules/geolocation \
    $(WebCore)/Modules/indexeddb \
    $(WebCore)/Modules/mediasource \
    $(WebCore)/Modules/mediastream \
    $(WebCore)/Modules/notifications \
    $(WebCore)/Modules/quota \
    $(WebCore)/Modules/webaudio \
    $(WebCore)/Modules/webdatabase \
    $(WebCore)/Modules/websockets \
    $(WebCore)/bindings/js \
    $(WebCore)/css \
    $(WebCore)/dom \
    $(WebCore)/editing \
    $(WebCore)/fileapi \
    $(WebCore)/html \
    $(WebCore)/html/canvas \
    $(WebCore)/html/shadow \
    $(WebCore)/html/track \
    $(WebCore)/inspector \
    $(WebCore)/loader/appcache \
    $(WebCore)/page \
    $(WebCore)/plugins \
    $(WebCore)/storage \
    $(WebCore)/svg \
    $(WebCore)/testing \
    $(WebCore)/workers \
    $(WebCore)/xml

vpath %.idl $(IDL_PATH)

supplemental_dependency_file = $(top_builddir)/DerivedSources/WebCore/idl_supplemental_dependencies
idl_files_list = $(top_builddir)/DerivedSources/WebCore/idl_files_list
idl_attributes_file = $(WebCore)/bindings/scripts/IDLAttributes.txt

.SECONDARY:
$(supplemental_dependency_file): $(SCRIPTS_FOR_PREPROCESS_IDLS) $(dom_binding_idls) $(idl_attributes_file)
	$(AM_V_GEN)
	$(AM_V_at)echo -n > $(idl_files_list)
	$(AM_V_at)($(foreach idl, $(dom_binding_idls), echo $(idl) &&) echo -n) >> $(idl_files_list)
	$(AM_V_at)$(PERL) -I$(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/preprocess-idls.pl --defines "LANGUAGE_JAVASCRIPT=1 $(feature_defines)" --idlFilesList $(idl_files_list) --supplementalDependencyFile $@ --idlAttributesFile $(idl_attributes_file)

# This does not appear to work correctly with gnumake unless
# it includes an empty command list (the semicolon).
DerivedSources/WebCore/JS%.cpp: DerivedSources/WebCore/JS%.h;

.SECONDARY:
DerivedSources/WebCore/JS%.h: %.idl $(SCRIPTS_FOR_GENERATE_BINDINGS) $(WebCore)/bindings/scripts/CodeGeneratorJS.pm $(supplemental_dependency_file)
	$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl $(IDL_PATH:%=--include "%") --outputDir "$(GENSOURCES_WEBCORE)" --defines "LANGUAGE_JAVASCRIPT=1 $(feature_defines)" --generator JS --supplementalDependencyFile $(supplemental_dependency_file) $<

# See https://bugs.webkit.org/show_bug.cgi?id=76388
# We need to introduce a manual dependency to prevent non-generated sources from
# trying to build before the generated ones. This can happen if the supplemental
# IDL generation takes a long time. The pipe represents an order-only dependency,
# which means that GNUmake will only try to build the dependencies first, but
# not rebuild all the targets if the dependencies change.
$(webkitgtk_sources) $(webkit2_sources) $(webkit2_plugin_process_sources) $(webcore_sources) $(webcoregtk_sources) : | $(supplemental_dependency_file) $(webcore_built_sources)

noinst_LTLIBRARIES += \
	libWebCoreModules.la \
	libWebCore.la

# Artificial dependency to try to force a relink of the WebCore libraries
# When their makefiles change.
webcore_lib_for_dep = libWebCore.la
$(webcore_lib_for_dep): $(srcdir)/Source/WebCore/GNUmakefile.am $(srcdir)/Source/WebCore/GNUmakefile.list.am

webcoremodules_lib_for_dep = libWebcoreModules.la
$(webcoremodules_lib_for_dep): $(srcdir)/Source/WebCore/GNUmakefile.am $(srcdir)/Source/WebCore/GNUmakefile.list.am

nodist_EXTRA_libWebCore_la_SOURCES = \
	$(webcore_built_nosources)

nodist_libWebCore_la_SOURCES = \
	$(webcore_built_sources)

libWebCore_la_SOURCES = \
	$(webcore_sources)

libWebCore_la_CXXFLAGS = \
	$(SYMBOL_VISIBILITY_INLINES) \
	$(global_cxxflags)

libWebCore_la_CFLAGS = \
	$(SYMBOL_VISIBILITY) \
	$(global_cflags)

libWebCore_la_CPPFLAGS = \
	-DBUILDING_WebCore \
	-DBUILDING_WEBKIT \
	$(global_cppflags) \
	$(webcore_cppflags) \
	$(webcoregtk_cppflags) \
	$(javascriptcore_cppflags) \
	-fno-strict-aliasing \
	$(CAIRO_CFLAGS) \
	$(CLUTTER_CFLAGS) \
	$(COVERAGE_CFLAGS) \
	$(ENCHANT_CFLAGS) \
	$(GAMEPAD_CFLAGS) \
	$(GEOCLUE_CFLAGS) \
	$(GLIB_CFLAGS) \
	$(GSTREAMER_CFLAGS) \
	$(LIBSECRET_CFLAGS) \
	$(LIBSOUP_CFLAGS) \
	$(LIBXML_CFLAGS) \
	$(LIBXSLT_CFLAGS) \
	$(PANGO_CFLAGS) \
	$(SQLITE3_CFLAGS) \
	$(UNICODE_CFLAGS) \
	$(XRENDER_CFLAGS) \
	$(XT_CFLAGS)

if TARGET_WIN32
# PluginPackageWin.cpp needs the symbols from version dll
libWebCore_la_LIBADD = -lversion
endif

libWebCoreModules_la_SOURCES = \
	$(webcore_modules_sources)

libWebCoreModules_la_CXXFLAGS = $(libWebCore_la_CXXFLAGS)

libWebCoreModules_la_CFLAGS = $(libWebCore_la_CFLAGS)

libWebCoreModules_la_CPPFLAGS = $(libWebCore_la_CPPFLAGS)

# We have a different library with only the files that require GTK+. It allows us
# to build a common WebCore lib and two different gtk WebCore libs depending on
# the gtk version. In WeKit2 gtk2 is not supported, but the plugin process needs to
# be built using gtk2 because plugins like flash still use gtk2. For WebKit2, we build
# the common libWebCore and two libWebCoreGtk, one using gtk3 and the other one using gtk2.
noinst_LTLIBRARIES += \
	libWebCoreGtk.la

libWebCoreGtk_la_SOURCES = \
	$(webcoregtk_sources)

libWebCoreGtk_la_CXXFLAGS = \
	$(SYMBOL_VISIBILITY_INLINES) \
	$(global_cxxflags)

libWebCoreGtk_la_CFLAGS = \
	$(SYMBOL_VISIBILITY) \
	$(global_cflags)

libWebCoreGtk_la_CPPFLAGS = \
	-DBUILDING_WebCore \
	-DBUILDING_WEBKIT \
	$(global_cppflags) \
	$(webcore_cppflags) \
	$(webcoregtk_cppflags) \
	$(javascriptcore_cppflags) \
	-fno-strict-aliasing \
	$(HILDON_CPPFLAGS) \
	$(CAIRO_CFLAGS) \
	$(CLUTTER_CFLAGS) \
	$(COVERAGE_CFLAGS) \
	$(ENCHANT_CFLAGS) \
	$(FARSTREAM_CFLAGS) \
	$(GAIL_CFLAGS) \
	$(GAMEPAD_CFLAGS) \
	$(GEOCLUE_CFLAGS) \
	$(GLIB_CFLAGS) \
	$(GSTREAMER_CFLAGS) \
	$(GTK_CFLAGS) \
	$(HILDON_CFLAGS) \
	$(LIBSECRET_CFLAGS) \
	$(LIBSOUP_CFLAGS) \
	$(LIBXML_CFLAGS) \
	$(LIBXSLT_CFLAGS) \
	$(SQLITE3_CFLAGS) \
	$(UNICODE_CFLAGS) \
	$(XCOMPOSITE_CFLAGS) \
	$(XDAMAGE_CFLAGS) \
	$(XRENDER_CFLAGS) \
	$(XT_CFLAGS)

EXTRA_DIST += \
	$(wildcard $(srcdir)/Source/WebCore/Modules/filesystem/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/Modules/gamepad/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/Modules/geolocation/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/Modules/indexeddb/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/Modules/mediasource/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/Modules/mediastream/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/Modules/navigatorcontentutils/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/Modules/notifications/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/Modules/quota/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/Modules/webaudio/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/Modules/webdatabase/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/Modules/websockets/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/css/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/dom/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/fileapi/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/html/canvas/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/html/shadow/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/html/track/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/html/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/inspector/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/loader/appcache/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/page/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/plugins/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/storage/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/svg/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/testing/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/workers/*.idl) \
	$(wildcard $(srcdir)/Source/WebCore/xml/*.idl) \
	Source/ThirdParty/ANGLE/src/compiler/glslang.l \
	Source/ThirdParty/ANGLE/src/compiler/glslang.y \
	Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm \
	Source/WebCore/bindings/scripts/CodeGeneratorJS.pm \
	Source/WebCore/bindings/scripts/CodeGenerator.pm \
	Source/WebCore/bindings/scripts/IDLAttributes.txt \
	Source/WebCore/bindings/scripts/IDLParser.pm \
	Source/WebCore/bindings/scripts/IDLStructure.pm \
	Source/WebCore/bindings/scripts/InFilesCompiler.pm \
	Source/WebCore/bindings/scripts/InFilesParser.pm \
	Source/WebCore/bindings/scripts/generate-bindings.pl \
	Source/WebCore/bindings/scripts/gobject-generate-headers.pl \
	Source/WebCore/bindings/scripts/preprocessor.pm \
	Source/WebCore/bindings/scripts/preprocess-idls.pl \
	Source/WebCore/ChangeLog \
	Source/WebCore/css/CSSGrammar.y.in \
	Source/WebCore/css/CSSGrammar.y.includes \
	Source/WebCore/css/CSSPropertyNames.in \
	Source/WebCore/css/CSSValueKeywords.in \
	Source/WebCore/dom/DOMExceptions.in \
	Source/WebCore/css/fullscreen.css \
	Source/WebCore/css/fullscreenQuickTime.css \
	Source/WebCore/css/html.css \
	Source/WebCore/css/make-css-file-arrays.pl \
	Source/WebCore/css/makegrammar.pl \
	Source/WebCore/css/makeprop.pl \
	Source/WebCore/css/maketokenizer \
	Source/WebCore/css/makevalues.pl \
	Source/WebCore/css/mathml.css \
	Source/WebCore/css/mediaControls.css \
	Source/WebCore/css/mediaControlsGtk.css \
	Source/WebCore/css/quirks.css \
	Source/WebCore/css/svg.css \
	Source/WebCore/css/SVGCSSPropertyNames.in \
	Source/WebCore/css/SVGCSSValueKeywords.in \
	Source/WebCore/css/view-source.css \
	Source/WebCore/css/WebKitFontFamilyNames.in \
	Source/WebCore/dom/EventNames.in \
	Source/WebCore/dom/EventTargetFactory.in \
	Source/WebCore/dom/make_dom_exceptions.pl \
	Source/WebCore/dom/make_event_factory.pl \
	Source/WebCore/dom/make_names.pl \
	Source/WebCore/html/HTMLAttributeNames.in \
	Source/WebCore/html/HTMLTagNames.in \
	Source/WebCore/html/parser/create-html-entity-table \
	Source/WebCore/html/parser/HTMLEntityNames.in \
	Source/WebCore/icu/LICENSE \
	Source/WebCore/inspector/CodeGeneratorInspector.py \
	Source/WebCore/inspector/InjectedScriptCanvasModuleSource.js \
	Source/WebCore/inspector/InjectedScriptSource.js \
	Source/WebCore/inspector/Inspector.json \
	Source/WebCore/inspector/Inspector-1.0.json \
	Source/WebCore/inspector/InspectorOverlayPage.html \
	Source/WebCore/inspector/generate-inspector-protocol-version \
	Source/WebCore/inspector/xxd.pl \
	Source/WebCore/LICENSE-APPLE \
	Source/WebCore/LICENSE-LGPL-2 \
	Source/WebCore/LICENSE-LGPL-2.1 \
	Source/WebCore/make-hash-tools.pl \
	Source/WebCore/mathml/mathattrs.in \
	Source/WebCore/mathml/mathtags.in \
	Source/WebCore/platform/ColorData.gperf \
	Source/WebCore/platform/text/mac/make-charset-table.pl \
	Source/WebCore/svg/svgattrs.in \
	Source/WebCore/svg/svgtags.in \
	Source/WebCore/svg/xlinkattrs.in \
	Source/WebCore/xml/xmlattrs.in \
	Source/WebCore/xml/xmlnsattrs.in \
	Source/WebCore/xml/XMLViewer.css \
	Source/WebCore/xml/XMLViewer.js \
	Source/WebCore/xml/XPathGrammar.y

# Installing web inspector files
webinspectordir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/webinspector
dist_webinspector_DATA = \
	$(WebCore)/English.lproj/localizedStrings.js \
	DerivedSources/WebCore/InspectorBackendCommands.js \
	$(shell ls $(WebCore)/inspector/front-end/*.js) \
	$(shell ls $(WebCore)/inspector/front-end/*.html) \
	$(shell ls $(WebCore)/inspector/front-end/*.css)

webinspectoruglifyjsdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/webinspector/UglifyJS
dist_webinspectoruglifyjs_DATA = \
	$(shell ls $(WebCore)/inspector/front-end/UglifyJS/*.js)

webinspectorimagesdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/webinspector/Images
dist_webinspectorimages_DATA = \
	$(shell ls $(WebCore)/inspector/front-end/Images/*.gif) \
	$(shell ls $(WebCore)/inspector/front-end/Images/*.png)

# It seems that $(shell) does not expand when it is a rule dependency, so
# we must redefine this list of copied files with traditional dependency wildcards.
noinst_DATA = ${GENSOURCES_INSPECTOR}/inspector.html
${GENSOURCES_INSPECTOR}/inspector.html: $(WebCore)/inspector/front-end/*.html \
		$(WebCore)/inspector/front-end/*.js \
		$(WebCore)/inspector/front-end/UglifyJS/*.js \
		$(WebCore)/inspector/front-end/*.css \
		$(WebCore)/inspector/front-end/Images/* \
		DerivedSources/WebCore/InspectorBackendCommands.js \
		$(WebCore)/English.lproj/localizedStrings.js
	$(AM_V_GEN)
	$(AM_V_at)mkdir -p ${GENSOURCES_INSPECTOR}/UglifyJS
	$(AM_V_at)mkdir -p ${GENSOURCES_INSPECTOR}/Images
	$(AM_V_at)cp ${dist_webinspector_DATA} ${GENSOURCES_INSPECTOR}
	$(AM_V_at)cp ${dist_webinspectoruglifyjs_DATA} ${GENSOURCES_INSPECTOR}/UglifyJS
	$(AM_V_at)cp ${dist_webinspectorimages_DATA} ${GENSOURCES_INSPECTOR}/Images

webresourcesdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/images
dist_webresources_DATA = \
	$(WebCore)/Resources/textAreaResizeCorner.png \
	$(WebCore)/Resources/nullPlugin.png \
	$(WebCore)/Resources/urlIcon.png \
	$(WebCore)/Resources/missingImage.png \
	$(WebCore)/Resources/panIcon.png \
	$(WebCore)/Resources/deleteButton.png \
	$(WebCore)/Resources/inputSpeech.png
