WebCore/Android.derived.jscbindings.mk
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     1 ##
       
     2 ## Copyright 2009, The Android Open Source Project
       
     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 ##  * Redistributions of source code must retain the above copyright
       
     8 ##    notice, this list of conditions and the following disclaimer.
       
     9 ##  * Redistributions in binary form must reproduce the above copyright
       
    10 ##    notice, this list of conditions and the following disclaimer in the
       
    11 ##    documentation and/or other materials provided with the distribution.
       
    12 ##
       
    13 ## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
       
    14 ## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
       
    15 ## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
       
    16 ## PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
       
    17 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
       
    18 ## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
       
    19 ## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
       
    20 ## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
       
    21 ## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
       
    22 ## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
       
    23 ## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
       
    24 ##
       
    25 
       
    26 # lookup tables for old-style JavaScript bindings
       
    27 create_hash_table := $(LOCAL_PATH)/../JavaScriptCore/create_hash_table
       
    28 
       
    29 GEN := $(addprefix $(intermediates)/, \
       
    30 			bindings/js/JSDOMWindowBase.lut.h \
       
    31 		)
       
    32 $(GEN): PRIVATE_CUSTOM_TOOL = perl $(create_hash_table) $< > $@
       
    33 $(GEN): $(intermediates)/bindings/js/%.lut.h: $(LOCAL_PATH)/bindings/js/%.cpp $(create_hash_table)
       
    34 	$(transform-generated-source)
       
    35 LOCAL_GENERATED_SOURCES += $(GEN)
       
    36 
       
    37 
       
    38 GEN := $(intermediates)/bindings/js/JSHTMLInputElementBaseTable.cpp
       
    39 $(GEN): PRIVATE_CUSTOM_TOOL = perl $(create_hash_table) $< > $@
       
    40 $(GEN): $(intermediates)/bindings/js/%Table.cpp: $(LOCAL_PATH)/bindings/js/%.cpp $(create_hash_table)
       
    41 	$(transform-generated-source)
       
    42 $(intermediates)/bindings/js/JSHTMLInputElementBase.o : $(GEN)
       
    43 
       
    44 # lookup tables for old-style JavaScript bindings
       
    45 js_binding_scripts := $(addprefix $(LOCAL_PATH)/,\
       
    46 			bindings/scripts/CodeGenerator.pm \
       
    47 			bindings/scripts/IDLParser.pm \
       
    48 			bindings/scripts/IDLStructure.pm \
       
    49 			bindings/scripts/generate-bindings.pl \
       
    50 		)
       
    51 
       
    52 FEATURE_DEFINES := ANDROID_ORIENTATION_SUPPORT ENABLE_TOUCH_EVENTS=1 ENABLE_DATABASE=1 ENABLE_OFFLINE_WEB_APPLICATIONS=1 ENABLE_DOM_STORAGE=1 ENABLE_VIDEO=1 ENABLE_WORKERS=1 ENABLE_GEOLOCATION=1 ENABLE_CHANNEL_MESSAGING=1 ENABLE_DEVICE_ORIENTATION=1
       
    53 
       
    54 # CSS
       
    55 GEN := \
       
    56     $(intermediates)/css/JSCSSCharsetRule.h \
       
    57     $(intermediates)/css/JSCSSFontFaceRule.h \
       
    58     $(intermediates)/css/JSCSSImportRule.h \
       
    59     $(intermediates)/css/JSCSSMediaRule.h \
       
    60     $(intermediates)/css/JSCSSPageRule.h \
       
    61     $(intermediates)/css/JSCSSPrimitiveValue.h \
       
    62     $(intermediates)/css/JSCSSRule.h \
       
    63     $(intermediates)/css/JSCSSRuleList.h \
       
    64     $(intermediates)/css/JSCSSStyleDeclaration.h \
       
    65     $(intermediates)/css/JSCSSStyleRule.h \
       
    66     $(intermediates)/css/JSCSSStyleSheet.h \
       
    67     $(intermediates)/css/JSCSSUnknownRule.h \
       
    68     $(intermediates)/css/JSCSSValue.h \
       
    69     $(intermediates)/css/JSCSSValueList.h \
       
    70     $(intermediates)/css/JSCSSVariablesDeclaration.h \
       
    71     $(intermediates)/css/JSCSSVariablesRule.h \
       
    72     $(intermediates)/css/JSCounter.h \
       
    73     $(intermediates)/css/JSMediaList.h \
       
    74     $(intermediates)/css/JSRGBColor.h \
       
    75     $(intermediates)/css/JSRect.h \
       
    76     $(intermediates)/css/JSStyleMedia.h \
       
    77     $(intermediates)/css/JSStyleSheet.h \
       
    78     $(intermediates)/css/JSStyleSheetList.h \
       
    79     $(intermediates)/css/JSWebKitCSSKeyframeRule.h \
       
    80     $(intermediates)/css/JSWebKitCSSKeyframesRule.h \
       
    81     $(intermediates)/css/JSWebKitCSSMatrix.h \
       
    82     $(intermediates)/css/JSWebKitCSSTransformValue.h
       
    83 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
       
    84 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
       
    85 $(GEN): $(intermediates)/css/JS%.h : $(LOCAL_PATH)/css/%.idl $(js_binding_scripts)
       
    86 	$(transform-generated-source)
       
    87 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
       
    88 
       
    89 
       
    90 # We also need the .cpp files, which are generated as side effects of the
       
    91 # above rules.  Specifying this explicitly makes -j2 work.
       
    92 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/css/%.cpp : $(intermediates)/css/%.h
       
    93 
       
    94 # DOM
       
    95 GEN := \
       
    96     $(intermediates)/dom/JSAttr.h \
       
    97     $(intermediates)/dom/JSBeforeLoadEvent.h \
       
    98     $(intermediates)/dom/JSCDATASection.h \
       
    99     $(intermediates)/dom/JSCharacterData.h \
       
   100     $(intermediates)/dom/JSClientRect.h \
       
   101     $(intermediates)/dom/JSClientRectList.h \
       
   102     $(intermediates)/dom/JSClipboard.h \
       
   103     $(intermediates)/dom/JSComment.h \
       
   104     $(intermediates)/dom/JSDOMCoreException.h \
       
   105     $(intermediates)/dom/JSDOMImplementation.h \
       
   106     $(intermediates)/dom/JSDOMStringList.h \
       
   107     $(intermediates)/dom/JSDeviceOrientationEvent.h \
       
   108     $(intermediates)/dom/JSDocument.h \
       
   109     $(intermediates)/dom/JSDocumentFragment.h \
       
   110     $(intermediates)/dom/JSDocumentType.h \
       
   111     $(intermediates)/dom/JSElement.h \
       
   112     $(intermediates)/dom/JSEntity.h \
       
   113     $(intermediates)/dom/JSEntityReference.h \
       
   114     $(intermediates)/dom/JSErrorEvent.h \
       
   115     $(intermediates)/dom/JSEvent.h \
       
   116     $(intermediates)/dom/JSEventException.h \
       
   117     $(intermediates)/dom/JSKeyboardEvent.h \
       
   118     $(intermediates)/dom/JSMessageChannel.h \
       
   119     $(intermediates)/dom/JSMessageEvent.h \
       
   120     $(intermediates)/dom/JSMessagePort.h \
       
   121     $(intermediates)/dom/JSMouseEvent.h \
       
   122     $(intermediates)/dom/JSMutationEvent.h \
       
   123     $(intermediates)/dom/JSNamedNodeMap.h \
       
   124     $(intermediates)/dom/JSNode.h \
       
   125     $(intermediates)/dom/JSNodeFilter.h \
       
   126     $(intermediates)/dom/JSNodeIterator.h \
       
   127     $(intermediates)/dom/JSNodeList.h \
       
   128     $(intermediates)/dom/JSNotation.h \
       
   129     $(intermediates)/dom/JSOverflowEvent.h \
       
   130     $(intermediates)/dom/JSPageTransitionEvent.h \
       
   131     $(intermediates)/dom/JSProcessingInstruction.h \
       
   132     $(intermediates)/dom/JSProgressEvent.h \
       
   133     $(intermediates)/dom/JSRange.h \
       
   134     $(intermediates)/dom/JSRangeException.h \
       
   135     $(intermediates)/dom/JSText.h \
       
   136     $(intermediates)/dom/JSTextEvent.h \
       
   137     $(intermediates)/dom/JSTouch.h \
       
   138     $(intermediates)/dom/JSTouchEvent.h \
       
   139     $(intermediates)/dom/JSTouchList.h \
       
   140     $(intermediates)/dom/JSTransformActionEvent.h \
       
   141     $(intermediates)/dom/JSTreeWalker.h \
       
   142     $(intermediates)/dom/JSUIEvent.h \
       
   143     $(intermediates)/dom/JSWebKitAnimationEvent.h \
       
   144     $(intermediates)/dom/JSWebKitTransitionEvent.h \
       
   145     $(intermediates)/dom/JSWheelEvent.h
       
   146 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
       
   147 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
       
   148 $(GEN): $(intermediates)/dom/JS%.h : $(LOCAL_PATH)/dom/%.idl $(js_binding_scripts)
       
   149 	$(transform-generated-source)
       
   150 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
       
   151 
       
   152 # We also need the .cpp files, which are generated as side effects of the
       
   153 # above rules.  Specifying this explicitly makes -j2 work.
       
   154 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/dom/%.cpp : $(intermediates)/dom/%.h
       
   155 
       
   156 # HTML
       
   157 GEN := \
       
   158     $(intermediates)/html/JSBlob.h \
       
   159     $(intermediates)/html/JSBlobBuilder.h \
       
   160     $(intermediates)/html/JSDOMFormData.h \
       
   161     $(intermediates)/html/JSDataGridColumn.h \
       
   162     $(intermediates)/html/JSDataGridColumnList.h \
       
   163     $(intermediates)/html/JSFile.h \
       
   164     $(intermediates)/html/JSFileError.h \
       
   165     $(intermediates)/html/JSFileList.h \
       
   166     $(intermediates)/html/JSHTMLAllCollection.h \
       
   167     $(intermediates)/html/JSHTMLAnchorElement.h \
       
   168     $(intermediates)/html/JSHTMLAppletElement.h \
       
   169     $(intermediates)/html/JSHTMLAreaElement.h \
       
   170     $(intermediates)/html/JSHTMLAudioElement.h \
       
   171     $(intermediates)/html/JSHTMLBRElement.h \
       
   172     $(intermediates)/html/JSHTMLBaseElement.h \
       
   173     $(intermediates)/html/JSHTMLBaseFontElement.h \
       
   174     $(intermediates)/html/JSHTMLBlockquoteElement.h \
       
   175     $(intermediates)/html/JSHTMLBodyElement.h \
       
   176     $(intermediates)/html/JSHTMLButtonElement.h \
       
   177     $(intermediates)/html/JSHTMLCanvasElement.h \
       
   178     $(intermediates)/html/JSHTMLCollection.h \
       
   179     $(intermediates)/html/JSHTMLDataGridElement.h \
       
   180     $(intermediates)/html/JSHTMLDataGridCellElement.h \
       
   181     $(intermediates)/html/JSHTMLDataGridColElement.h \
       
   182     $(intermediates)/html/JSHTMLDataGridRowElement.h \
       
   183     $(intermediates)/html/JSHTMLDataListElement.h \
       
   184     $(intermediates)/html/JSHTMLDListElement.h \
       
   185     $(intermediates)/html/JSHTMLDirectoryElement.h \
       
   186     $(intermediates)/html/JSHTMLDivElement.h \
       
   187     $(intermediates)/html/JSHTMLDocument.h \
       
   188     $(intermediates)/html/JSHTMLElement.h \
       
   189     $(intermediates)/html/JSHTMLEmbedElement.h \
       
   190     $(intermediates)/html/JSHTMLFieldSetElement.h \
       
   191     $(intermediates)/html/JSHTMLFontElement.h \
       
   192     $(intermediates)/html/JSHTMLFormElement.h \
       
   193     $(intermediates)/html/JSHTMLFrameElement.h \
       
   194     $(intermediates)/html/JSHTMLFrameSetElement.h \
       
   195     $(intermediates)/html/JSHTMLHRElement.h \
       
   196     $(intermediates)/html/JSHTMLHeadElement.h \
       
   197     $(intermediates)/html/JSHTMLHeadingElement.h \
       
   198     $(intermediates)/html/JSHTMLHtmlElement.h \
       
   199     $(intermediates)/html/JSHTMLIFrameElement.h \
       
   200     $(intermediates)/html/JSHTMLImageElement.h \
       
   201     $(intermediates)/html/JSHTMLInputElement.h \
       
   202     $(intermediates)/html/JSHTMLIsIndexElement.h \
       
   203     $(intermediates)/html/JSHTMLLIElement.h \
       
   204     $(intermediates)/html/JSHTMLLabelElement.h \
       
   205     $(intermediates)/html/JSHTMLLegendElement.h \
       
   206     $(intermediates)/html/JSHTMLLinkElement.h \
       
   207     $(intermediates)/html/JSHTMLMapElement.h \
       
   208     $(intermediates)/html/JSHTMLMarqueeElement.h \
       
   209     $(intermediates)/html/JSHTMLMediaElement.h \
       
   210     $(intermediates)/html/JSHTMLMenuElement.h \
       
   211     $(intermediates)/html/JSHTMLMetaElement.h \
       
   212     $(intermediates)/html/JSHTMLModElement.h \
       
   213     $(intermediates)/html/JSHTMLOListElement.h \
       
   214     $(intermediates)/html/JSHTMLObjectElement.h \
       
   215     $(intermediates)/html/JSHTMLOptGroupElement.h \
       
   216     $(intermediates)/html/JSHTMLOptionElement.h \
       
   217     $(intermediates)/html/JSHTMLOptionsCollection.h \
       
   218     $(intermediates)/html/JSHTMLParagraphElement.h \
       
   219     $(intermediates)/html/JSHTMLParamElement.h \
       
   220     $(intermediates)/html/JSHTMLPreElement.h \
       
   221     $(intermediates)/html/JSHTMLQuoteElement.h \
       
   222     $(intermediates)/html/JSHTMLScriptElement.h \
       
   223     $(intermediates)/html/JSHTMLSelectElement.h \
       
   224     $(intermediates)/html/JSHTMLSourceElement.h \
       
   225     $(intermediates)/html/JSHTMLStyleElement.h \
       
   226     $(intermediates)/html/JSHTMLTableCaptionElement.h \
       
   227     $(intermediates)/html/JSHTMLTableCellElement.h \
       
   228     $(intermediates)/html/JSHTMLTableColElement.h \
       
   229     $(intermediates)/html/JSHTMLTableElement.h \
       
   230     $(intermediates)/html/JSHTMLTableRowElement.h \
       
   231     $(intermediates)/html/JSHTMLTableSectionElement.h \
       
   232     $(intermediates)/html/JSHTMLTextAreaElement.h \
       
   233     $(intermediates)/html/JSHTMLTitleElement.h \
       
   234     $(intermediates)/html/JSHTMLUListElement.h \
       
   235     $(intermediates)/html/JSHTMLVideoElement.h \
       
   236     $(intermediates)/html/JSImageData.h \
       
   237     $(intermediates)/html/JSMediaError.h \
       
   238     $(intermediates)/html/JSTextMetrics.h \
       
   239     $(intermediates)/html/JSTimeRanges.h \
       
   240     $(intermediates)/html/JSValidityState.h \
       
   241     $(intermediates)/html/JSVoidCallback.h
       
   242 
       
   243 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
       
   244 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
       
   245 $(GEN): $(intermediates)/html/JS%.h : $(LOCAL_PATH)/html/%.idl $(js_binding_scripts)
       
   246 	$(transform-generated-source)
       
   247 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
       
   248 
       
   249 # We also need the .cpp files, which are generated as side effects of the
       
   250 # above rules.  Specifying this explicitly makes -j2 work.
       
   251 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/html/%.cpp : $(intermediates)/html/%.h
       
   252 
       
   253 # Canvas
       
   254 GEN := \
       
   255     $(intermediates)/html/canvas/JSCanvasGradient.h \
       
   256     $(intermediates)/html/canvas/JSCanvasNumberArray.h \
       
   257     $(intermediates)/html/canvas/JSCanvasPattern.h \
       
   258     $(intermediates)/html/canvas/JSCanvasRenderingContext.h \
       
   259     $(intermediates)/html/canvas/JSCanvasRenderingContext2D.h
       
   260 
       
   261 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
       
   262 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
       
   263 $(GEN): $(intermediates)/html/canvas/JS%.h : $(LOCAL_PATH)/html/canvas/%.idl $(js_binding_scripts)
       
   264 	$(transform-generated-source)
       
   265 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
       
   266 
       
   267 # We also need the .cpp files, which are generated as side effects of the
       
   268 # above rules.  Specifying this explicitly makes -j2 work.
       
   269 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/html/canvas/%.cpp : $(intermediates)/html/canvas/%.h
       
   270 
       
   271 # Appcache
       
   272 GEN := \
       
   273     $(intermediates)/loader/appcache/JSDOMApplicationCache.h
       
   274 
       
   275 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
       
   276 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
       
   277 $(GEN): $(intermediates)/loader/appcache/JS%.h : $(LOCAL_PATH)/loader/appcache/%.idl $(js_binding_scripts)
       
   278 	$(transform-generated-source)
       
   279 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
       
   280 
       
   281 # We also need the .cpp files, which are generated as side effects of the
       
   282 # above rules.  Specifying this explicitly makes -j2 work.
       
   283 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/loader/appcache/%.cpp : $(intermediates)/loader/appcache/%.h
       
   284 
       
   285 # page
       
   286 GEN := \
       
   287     $(intermediates)/page/JSBarInfo.h \
       
   288     $(intermediates)/page/JSConsole.h \
       
   289     $(intermediates)/page/JSCoordinates.h \
       
   290     $(intermediates)/page/JSDOMSelection.h \
       
   291     $(intermediates)/page/JSDOMWindow.h \
       
   292     $(intermediates)/page/JSGeolocation.h \
       
   293     $(intermediates)/page/JSGeoposition.h \
       
   294     $(intermediates)/page/JSHistory.h \
       
   295     $(intermediates)/page/JSLocation.h \
       
   296     $(intermediates)/page/JSNavigator.h \
       
   297     $(intermediates)/page/JSPositionError.h \
       
   298     $(intermediates)/page/JSScreen.h \
       
   299     $(intermediates)/page/JSWebKitPoint.h \
       
   300     $(intermediates)/page/JSWorkerNavigator.h
       
   301 
       
   302 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
       
   303 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
       
   304 $(GEN): $(intermediates)/page/JS%.h : $(LOCAL_PATH)/page/%.idl $(js_binding_scripts)
       
   305 	$(transform-generated-source)
       
   306 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
       
   307 
       
   308 # We also need the .cpp files, which are generated as side effects of the
       
   309 # above rules.  Specifying this explicitly makes -j2 work.
       
   310 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/page/%.cpp : $(intermediates)/page/%.h
       
   311 
       
   312 GEN := \
       
   313     $(intermediates)/plugins/JSMimeType.h \
       
   314     $(intermediates)/plugins/JSMimeTypeArray.h \
       
   315     $(intermediates)/plugins/JSPlugin.h \
       
   316     $(intermediates)/plugins/JSPluginArray.h
       
   317 
       
   318 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
       
   319 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
       
   320 $(GEN): $(intermediates)/plugins/JS%.h : $(LOCAL_PATH)/plugins/%.idl $(js_binding_scripts)
       
   321 	$(transform-generated-source)
       
   322 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
       
   323 
       
   324 # We also need the .cpp files, which are generated as side effects of the
       
   325 # above rules.  Specifying this explicitly makes -j2 work.
       
   326 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/plugins/%.cpp : $(intermediates)/plugins/%.h
       
   327 
       
   328 # Database
       
   329 GEN := \
       
   330     $(intermediates)/storage/JSDatabase.h \
       
   331     $(intermediates)/storage/JSSQLError.h \
       
   332     $(intermediates)/storage/JSSQLException.h \
       
   333     $(intermediates)/storage/JSSQLResultSet.h \
       
   334     $(intermediates)/storage/JSSQLResultSetRowList.h \
       
   335     $(intermediates)/storage/JSSQLTransaction.h
       
   336 
       
   337 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
       
   338 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
       
   339 $(GEN): $(intermediates)/storage/JS%.h : $(LOCAL_PATH)/storage/%.idl $(js_binding_scripts)
       
   340 	$(transform-generated-source)
       
   341 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
       
   342 
       
   343 # We also need the .cpp files, which are generated as side effects of the
       
   344 # above rules.  Specifying this explicitly makes -j2 work.
       
   345 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/storage/%.cpp : $(intermediates)/storage/%.h
       
   346 
       
   347 # DOM Storage
       
   348 GEN := \
       
   349     $(intermediates)/storage/JSStorage.h \
       
   350     $(intermediates)/storage/JSStorageEvent.h
       
   351 
       
   352 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
       
   353 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
       
   354 $(GEN): $(intermediates)/storage/JS%.h : $(LOCAL_PATH)/storage/%.idl $(js_binding_scripts)
       
   355 	$(transform-generated-source)
       
   356 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
       
   357 
       
   358 # We also need the .cpp files, which are generated as side effects of the
       
   359 # above rules.  Specifying this explicitly makes -j2 work.
       
   360 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/storage/%.cpp : $(intermediates)/storage/%.h
       
   361 
       
   362 # Indexed Database
       
   363 GEN := \
       
   364     $(intermediates)/storage/JSIDBAny.h \
       
   365     $(intermediates)/storage/JSIDBDatabaseError.h \
       
   366     $(intermediates)/storage/JSIDBDatabaseException.h \
       
   367     $(intermediates)/storage/JSIDBDatabaseRequest.h \
       
   368     $(intermediates)/storage/JSIDBErrorEvent.h \
       
   369     $(intermediates)/storage/JSIDBEvent.h \
       
   370     $(intermediates)/storage/JSIDBIndexRequest.h \
       
   371     $(intermediates)/storage/JSIDBKey.h \
       
   372     $(intermediates)/storage/JSIDBKeyRange.h \
       
   373     $(intermediates)/storage/JSIDBRequest.h \
       
   374     $(intermediates)/storage/JSIDBSuccessEvent.h \
       
   375     $(intermediates)/storage/JSIndexedDatabaseRequest.h
       
   376 
       
   377 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
       
   378 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --include storage --outputdir $(dir $@) $<
       
   379 $(GEN): $(intermediates)/storage/JS%.h : $(LOCAL_PATH)/storage/%.idl $(js_binding_scripts)
       
   380 	$(transform-generated-source)
       
   381 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
       
   382 
       
   383 # We also need the .cpp files, which are generated as side effects of the
       
   384 # above rules.  Specifying this explicitly makes -j2 work.
       
   385 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/storage/%.cpp : $(intermediates)/storage/%.h
       
   386 
       
   387 # SVG
       
   388 ifeq ($(ENABLE_SVG), true)
       
   389 GEN := \
       
   390     $(intermediates)/svg/JSSVGAElement.h \
       
   391     $(intermediates)/svg/JSSVGAltGlyphElement.h \
       
   392     $(intermediates)/svg/JSSVGAngle.h \
       
   393     $(intermediates)/svg/JSSVGAnimateColorElement.h \
       
   394     $(intermediates)/svg/JSSVGAnimateElement.h \
       
   395     $(intermediates)/svg/JSSVGAnimateTransformElement.h \
       
   396     $(intermediates)/svg/JSSVGAnimatedAngle.h \
       
   397     $(intermediates)/svg/JSSVGAnimatedBoolean.h \
       
   398     $(intermediates)/svg/JSSVGAnimatedEnumeration.h \
       
   399     $(intermediates)/svg/JSSVGAnimatedInteger.h \
       
   400     $(intermediates)/svg/JSSVGAnimatedLength.h \
       
   401     $(intermediates)/svg/JSSVGAnimatedLengthList.h \
       
   402     $(intermediates)/svg/JSSVGAnimatedNumber.h \
       
   403     $(intermediates)/svg/JSSVGAnimatedNumberList.h \
       
   404     $(intermediates)/svg/JSSVGAnimatedPreserveAspectRatio.h \
       
   405     $(intermediates)/svg/JSSVGAnimatedRect.h \
       
   406     $(intermediates)/svg/JSSVGAnimatedString.h \
       
   407     $(intermediates)/svg/JSSVGAnimatedTransformList.h \
       
   408     $(intermediates)/svg/JSSVGAnimationElement.h \
       
   409     $(intermediates)/svg/JSSVGCircleElement.h \
       
   410     $(intermediates)/svg/JSSVGClipPathElement.h \
       
   411     $(intermediates)/svg/JSSVGColor.h \
       
   412     $(intermediates)/svg/JSSVGComponentTransferFunctionElement.h \
       
   413     $(intermediates)/svg/JSSVGCursorElement.h \
       
   414     $(intermediates)/svg/JSSVGDefsElement.h \
       
   415     $(intermediates)/svg/JSSVGDescElement.h \
       
   416     $(intermediates)/svg/JSSVGDocument.h \
       
   417     $(intermediates)/svg/JSSVGElement.h \
       
   418     $(intermediates)/svg/JSSVGElementInstance.h \
       
   419     $(intermediates)/svg/JSSVGElementInstanceList.h \
       
   420     $(intermediates)/svg/JSSVGEllipseElement.h \
       
   421     $(intermediates)/svg/JSSVGException.h \
       
   422     $(intermediates)/svg/JSSVGFEBlendElement.h \
       
   423     $(intermediates)/svg/JSSVGFEColorMatrixElement.h \
       
   424     $(intermediates)/svg/JSSVGFEComponentTransferElement.h \
       
   425     $(intermediates)/svg/JSSVGFECompositeElement.h \
       
   426     $(intermediates)/svg/JSSVGFEConvolveMatrixElement.h \
       
   427     $(intermediates)/svg/JSSVGFEDiffuseLightingElement.h \
       
   428     $(intermediates)/svg/JSSVGFEDisplacementMapElement.h \
       
   429     $(intermediates)/svg/JSSVGFEDistantLightElement.h \
       
   430     $(intermediates)/svg/JSSVGFEFloodElement.h \
       
   431     $(intermediates)/svg/JSSVGFEFuncAElement.h \
       
   432     $(intermediates)/svg/JSSVGFEFuncBElement.h \
       
   433     $(intermediates)/svg/JSSVGFEFuncGElement.h \
       
   434     $(intermediates)/svg/JSSVGFEFuncRElement.h \
       
   435     $(intermediates)/svg/JSSVGFEGaussianBlurElement.h \
       
   436     $(intermediates)/svg/JSSVGFEImageElement.h \
       
   437     $(intermediates)/svg/JSSVGFEMergeElement.h \
       
   438     $(intermediates)/svg/JSSVGFEMergeNodeElement.h \
       
   439     $(intermediates)/svg/JSSVGFEOffsetElement.h \
       
   440     $(intermediates)/svg/JSSVGFEPointLightElement.h \
       
   441     $(intermediates)/svg/JSSVGFESpecularLightingElement.h \
       
   442     $(intermediates)/svg/JSSVGFESpotLightElement.h \
       
   443     $(intermediates)/svg/JSSVGFETileElement.h \
       
   444     $(intermediates)/svg/JSSVGFETurbulenceElement.h \
       
   445     $(intermediates)/svg/JSSVGFilterElement.h \
       
   446     $(intermediates)/svg/JSSVGFontElement.h \
       
   447     $(intermediates)/svg/JSSVGFontFaceElement.h \
       
   448     $(intermediates)/svg/JSSVGFontFaceFormatElement.h \
       
   449     $(intermediates)/svg/JSSVGFontFaceNameElement.h \
       
   450     $(intermediates)/svg/JSSVGFontFaceSrcElement.h \
       
   451     $(intermediates)/svg/JSSVGFontFaceUriElement.h \
       
   452     $(intermediates)/svg/JSSVGForeignObjectElement.h \
       
   453     $(intermediates)/svg/JSSVGGElement.h \
       
   454     $(intermediates)/svg/JSSVGGlyphElement.h \
       
   455     $(intermediates)/svg/JSSVGGradientElement.h \
       
   456     $(intermediates)/svg/JSSVGHKernElement.h \
       
   457     $(intermediates)/svg/JSSVGImageElement.h \
       
   458     $(intermediates)/svg/JSSVGLength.h \
       
   459     $(intermediates)/svg/JSSVGLengthList.h \
       
   460     $(intermediates)/svg/JSSVGLineElement.h \
       
   461     $(intermediates)/svg/JSSVGLinearGradientElement.h \
       
   462     $(intermediates)/svg/JSSVGMarkerElement.h \
       
   463     $(intermediates)/svg/JSSVGMaskElement.h \
       
   464     $(intermediates)/svg/JSSVGMatrix.h \
       
   465     $(intermediates)/svg/JSSVGMetadataElement.h \
       
   466     $(intermediates)/svg/JSSVGMissingGlyphElement.h \
       
   467     $(intermediates)/svg/JSSVGNumber.h \
       
   468     $(intermediates)/svg/JSSVGNumberList.h \
       
   469     $(intermediates)/svg/JSSVGPaint.h \
       
   470     $(intermediates)/svg/JSSVGPathElement.h \
       
   471     $(intermediates)/svg/JSSVGPathSeg.h \
       
   472     $(intermediates)/svg/JSSVGPathSegArcAbs.h \
       
   473     $(intermediates)/svg/JSSVGPathSegArcRel.h \
       
   474     $(intermediates)/svg/JSSVGPathSegClosePath.h \
       
   475     $(intermediates)/svg/JSSVGPathSegCurvetoCubicAbs.h \
       
   476     $(intermediates)/svg/JSSVGPathSegCurvetoCubicRel.h \
       
   477     $(intermediates)/svg/JSSVGPathSegCurvetoCubicSmoothAbs.h \
       
   478     $(intermediates)/svg/JSSVGPathSegCurvetoCubicSmoothRel.h \
       
   479     $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticAbs.h \
       
   480     $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticRel.h \
       
   481     $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticSmoothAbs.h \
       
   482     $(intermediates)/svg/JSSVGPathSegCurvetoQuadraticSmoothRel.h \
       
   483     $(intermediates)/svg/JSSVGPathSegLinetoAbs.h \
       
   484     $(intermediates)/svg/JSSVGPathSegLinetoHorizontalAbs.h \
       
   485     $(intermediates)/svg/JSSVGPathSegLinetoHorizontalRel.h \
       
   486     $(intermediates)/svg/JSSVGPathSegLinetoRel.h \
       
   487     $(intermediates)/svg/JSSVGPathSegLinetoVerticalAbs.h \
       
   488     $(intermediates)/svg/JSSVGPathSegLinetoVerticalRel.h \
       
   489     $(intermediates)/svg/JSSVGPathSegList.h \
       
   490     $(intermediates)/svg/JSSVGPathSegMovetoAbs.h \
       
   491     $(intermediates)/svg/JSSVGPathSegMovetoRel.h \
       
   492     $(intermediates)/svg/JSSVGPatternElement.h \
       
   493     $(intermediates)/svg/JSSVGPoint.h \
       
   494     $(intermediates)/svg/JSSVGPointList.h \
       
   495     $(intermediates)/svg/JSSVGPolygonElement.h \
       
   496     $(intermediates)/svg/JSSVGPolylineElement.h \
       
   497     $(intermediates)/svg/JSSVGPreserveAspectRatio.h \
       
   498     $(intermediates)/svg/JSSVGRadialGradientElement.h \
       
   499     $(intermediates)/svg/JSSVGRect.h \
       
   500     $(intermediates)/svg/JSSVGRectElement.h \
       
   501     $(intermediates)/svg/JSSVGRenderingIntent.h \
       
   502     $(intermediates)/svg/JSSVGSVGElement.h \
       
   503     $(intermediates)/svg/JSSVGScriptElement.h \
       
   504     $(intermediates)/svg/JSSVGSetElement.h \
       
   505     $(intermediates)/svg/JSSVGStopElement.h \
       
   506     $(intermediates)/svg/JSSVGStringList.h \
       
   507     $(intermediates)/svg/JSSVGStyleElement.h \
       
   508     $(intermediates)/svg/JSSVGSwitchElement.h \
       
   509     $(intermediates)/svg/JSSVGSymbolElement.h \
       
   510     $(intermediates)/svg/JSSVGTRefElement.h \
       
   511     $(intermediates)/svg/JSSVGTSpanElement.h \
       
   512     $(intermediates)/svg/JSSVGTextContentElement.h \
       
   513     $(intermediates)/svg/JSSVGTextElement.h \
       
   514     $(intermediates)/svg/JSSVGTextPathElement.h \
       
   515     $(intermediates)/svg/JSSVGTextPositioningElement.h \
       
   516     $(intermediates)/svg/JSSVGTitleElement.h \
       
   517     $(intermediates)/svg/JSSVGTransform.h \
       
   518     $(intermediates)/svg/JSSVGTransformList.h \
       
   519     $(intermediates)/svg/JSSVGUnitTypes.h \
       
   520     $(intermediates)/svg/JSSVGUseElement.h \
       
   521     $(intermediates)/svg/JSSVGViewElement.h \
       
   522     $(intermediates)/svg/JSSVGVKernElement.h \
       
   523     $(intermediates)/svg/JSSVGZoomEvent.h
       
   524 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
       
   525 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include external/webkit/WebCore/dom --include external/webkit/WebCore/html --include external/webkit/WebCore/svg --outputdir $(dir $@) $<
       
   526 $(GEN): $(intermediates)/svg/JS%.h : $(LOCAL_PATH)/svg/%.idl $(js_binding_scripts)
       
   527 	$(transform-generated-source)
       
   528 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
       
   529 
       
   530 # We also need the .cpp files, which are generated as side effects of the
       
   531 # above rules.  Specifying this explicitly makes -j2 work.
       
   532 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/svg/%.cpp : $(intermediates)/svg/%.h
       
   533 endif
       
   534 
       
   535 # Workers
       
   536 GEN := \
       
   537     $(intermediates)/workers/JSAbstractWorker.h \
       
   538     $(intermediates)/workers/JSDedicatedWorkerContext.h \
       
   539     $(intermediates)/workers/JSSharedWorker.h \
       
   540     $(intermediates)/workers/JSSharedWorkerContext.h \
       
   541     $(intermediates)/workers/JSWorker.h \
       
   542     $(intermediates)/workers/JSWorkerContext.h \
       
   543     $(intermediates)/workers/JSWorkerLocation.h
       
   544 
       
   545 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
       
   546 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
       
   547 $(GEN): $(intermediates)/workers/JS%.h : $(LOCAL_PATH)/workers/%.idl $(js_binding_scripts)
       
   548 	$(transform-generated-source)
       
   549 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
       
   550 
       
   551 # We also need the .cpp files, which are generated as side effects of the
       
   552 # above rules.  Specifying this explicitly makes -j2 work.
       
   553 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/workers/%.cpp : $(intermediates)/workers/%.h
       
   554 
       
   555 # XML
       
   556 GEN := \
       
   557     $(intermediates)/xml/JSDOMParser.h \
       
   558     $(intermediates)/xml/JSXMLHttpRequest.h \
       
   559     $(intermediates)/xml/JSXMLHttpRequestException.h \
       
   560     $(intermediates)/xml/JSXMLHttpRequestProgressEvent.h \
       
   561     $(intermediates)/xml/JSXMLHttpRequestUpload.h \
       
   562     $(intermediates)/xml/JSXMLSerializer.h \
       
   563     $(intermediates)/xml/JSXSLTProcessor.h
       
   564 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
       
   565 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I$(PRIVATE_PATH)/bindings/scripts $(PRIVATE_PATH)/bindings/scripts/generate-bindings.pl --defines "$(FEATURE_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --include dom --include html --outputdir $(dir $@) $<
       
   566 $(GEN): $(intermediates)/xml/JS%.h : $(LOCAL_PATH)/xml/%.idl $(js_binding_scripts)
       
   567 	$(transform-generated-source)
       
   568 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
       
   569 
       
   570 # We also need the .cpp files, which are generated as side effects of the
       
   571 # above rules.  Specifying this explicitly makes -j2 work.
       
   572 $(patsubst %.h,%.cpp,$(GEN)): $(intermediates)/xml/%.cpp : $(intermediates)/xml/%.h
       
   573 #end
       
   574 
       
   575 # HTML tag and attribute names
       
   576 
       
   577 GEN:= $(intermediates)/HTMLNames.cpp $(intermediates)/HTMLElementFactory.cpp  $(intermediates)/JSHTMLElementWrapperFactory.cpp
       
   578 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
       
   579 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --tags $(PRIVATE_PATH)/html/HTMLTagNames.in --attrs $(PRIVATE_PATH)/html/HTMLAttributeNames.in --extraDefines "$(FEATURE_DEFINES)" --factory --wrapperFactory --output $(dir $@)
       
   580 $(GEN): $(LOCAL_PATH)/dom/make_names.pl $(LOCAL_PATH)/html/HTMLTagNames.in $(LOCAL_PATH)/html/HTMLAttributeNames.in
       
   581 	$(transform-generated-source)
       
   582 LOCAL_GENERATED_SOURCES += $(GEN)
       
   583 
       
   584 # SVG tag and attribute names
       
   585 
       
   586 ifeq ($(ENABLE_SVG), true)
       
   587 GEN:= $(intermediates)/SVGNames.cpp  $(intermediates)/SVGElementFactory.cpp $(intermediates)/JSSVGElementWrapperFactory.cpp
       
   588 SVG_FLAGS:=ENABLE_SVG_AS_IMAGE=1 ENABLE_SVG_FILTERS=1 ENABLE_SVG_FONTS=1 ENABLE_SVG_FOREIGN_OBJECT=1 ENABLE_SVG_USE=1
       
   589 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
       
   590 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --tags $(PRIVATE_PATH)/svg/svgtags.in --attrs $(PRIVATE_PATH)/svg/svgattrs.in --extraDefines "$(SVG_FLAGS)" --factory --wrapperFactory --output $(dir $@)
       
   591 $(GEN): $(LOCAL_PATH)/dom/make_names.pl $(LOCAL_PATH)/svg/svgtags.in $(LOCAL_PATH)/svg/svgattrs.in
       
   592 	$(transform-generated-source)
       
   593 LOCAL_GENERATED_SOURCES += $(GEN)
       
   594 endif