Home | History | Annotate | Download | only in WebCore
      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 # CSS property names and value keywords
     27 
     28 GEN := $(intermediates)/css/CSSPropertyNames.h
     29 $(GEN): SCRIPT := $(LOCAL_PATH)/css/makeprop.pl
     30 $(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.in $(LOCAL_PATH)/css/SVGCSSPropertyNames.in
     31 	@echo "Generating CSSPropertyNames.h <= CSSPropertyNames.in"
     32 	@mkdir -p $(dir $@)
     33 	@cat $< > $(dir $@)/$(notdir $<)
     34 ifeq ($(ENABLE_SVG),true)
     35 	@cat $^ > $(@:%.h=%.in)
     36 endif
     37 	@cp -f $(SCRIPT) $(dir $@)
     38 	@cd $(dir $@) ; perl ./$(notdir $(SCRIPT))
     39 LOCAL_GENERATED_SOURCES += $(GEN)
     40 
     41 GEN := $(intermediates)/css/CSSValueKeywords.h
     42 $(GEN): SCRIPT := $(LOCAL_PATH)/css/makevalues.pl
     43 $(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.in $(LOCAL_PATH)/css/SVGCSSValueKeywords.in
     44 	@echo "Generating CSSValueKeywords.h <= CSSValueKeywords.in"
     45 	@mkdir -p $(dir $@)
     46 	@cp -f $(SCRIPT) $(dir $@)
     47 ifeq ($(ENABLE_SVG),true)    
     48 	@perl -ne 'print lc' $^ > $(@:%.h=%.in)
     49 else
     50 	@perl -ne 'print lc' $< > $(@:%.h=%.in)
     51 endif
     52 	@cd $(dir $@); perl makevalues.pl
     53 LOCAL_GENERATED_SOURCES += $(GEN)
     54 
     55 
     56 # DOCTYPE strings
     57 
     58 GEN := $(intermediates)/html/DocTypeStrings.cpp
     59 $(GEN): PRIVATE_CUSTOM_TOOL = gperf -CEot -L ANSI-C -k "*" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards $< > $@
     60 $(GEN): $(LOCAL_PATH)/html/DocTypeStrings.gperf
     61 	$(transform-generated-source)
     62 # we have to do this dep by hand:
     63 $(intermediates)/html/HTMLDocument.o : $(GEN)
     64 
     65 
     66 # HTML entity names
     67 
     68 GEN := $(intermediates)/html/HTMLEntityNames.c
     69 $(GEN): PRIVATE_CUSTOM_TOOL = gperf -a -L ANSI-C -C -G -c -o -t -k '*' -N findEntity -D -s 2 $< > $@
     70 $(GEN): $(LOCAL_PATH)/html/HTMLEntityNames.gperf
     71 	$(transform-generated-source)
     72 LOCAL_GENERATED_SOURCES += $(GEN)
     73 
     74 
     75 # color names
     76 
     77 GEN := $(intermediates)/platform/ColorData.c
     78 $(GEN): PRIVATE_CUSTOM_TOOL = gperf -CDEot -L ANSI-C -k '*' -N findColor -D -s 2 $< > $@
     79 $(GEN): $(LOCAL_PATH)/platform/ColorData.gperf
     80 	$(transform-generated-source)
     81 LOCAL_GENERATED_SOURCES += $(GEN)
     82 
     83 
     84 # CSS tokenizer
     85 
     86 GEN := $(intermediates)/css/tokenizer.cpp
     87 $(GEN): PRIVATE_CUSTOM_TOOL = $(OLD_FLEX) -t $< | perl $(dir $<)/maketokenizer > $@
     88 $(GEN): $(LOCAL_PATH)/css/tokenizer.flex $(LOCAL_PATH)/css/maketokenizer
     89 	$(transform-generated-source)
     90 # we have to do this dep by hand:
     91 $(intermediates)/css/CSSParser.o : $(GEN)
     92 
     93 # CSS grammar
     94 
     95 GEN := $(intermediates)/CSSGrammar.cpp
     96 $(GEN) : PRIVATE_YACCFLAGS := -p cssyy
     97 $(GEN): $(LOCAL_PATH)/css/CSSGrammar.y
     98 	$(call local-transform-y-to-cpp,.cpp)
     99 $(GEN): $(LOCAL_BISON)
    100 
    101 LOCAL_GENERATED_SOURCES += $(GEN)
    102 
    103 # user agent style sheets
    104 
    105 style_sheets := $(LOCAL_PATH)/css/html.css $(LOCAL_PATH)/css/quirks.css $(LOCAL_PATH)/css/view-source.css $(LOCAL_PATH)/css/mediaControls.css
    106 ifeq ($(ENABLE_SVG), true)
    107 style_sheets := $(style_sheets) $(LOCAL_PATH)/css/svg.css
    108 endif
    109 GEN := $(intermediates)/css/UserAgentStyleSheets.h
    110 make_css_file_arrays := $(LOCAL_PATH)/css/make-css-file-arrays.pl
    111 $(GEN): PRIVATE_CUSTOM_TOOL = $< $@ $(basename $@).cpp $(filter %.css,$^)
    112 $(GEN): $(make_css_file_arrays) $(style_sheets)
    113 	$(transform-generated-source)
    114 LOCAL_GENERATED_SOURCES += $(GEN) $(GEN:%.h=%.cpp)
    115 
    116 # character set name table
    117 
    118 #gen_inputs := \
    119 		$(LOCAL_PATH)/platform/make-charset-table.pl \
    120 		$(LOCAL_PATH)/platform/character-sets.txt \
    121 		$(LOCAL_PATH)/platform/android/android-encodings.txt
    122 #GEN := $(intermediates)/platform/CharsetData.cpp
    123 #$(GEN): PRIVATE_CUSTOM_TOOL = $^ "android::Encoding::ENCODING_" > $@
    124 #$(GEN): $(gen_inputs)
    125 #	$(transform-generated-source)
    126 #LOCAL_GENERATED_SOURCES += $(GEN)
    127 
    128 # the above rule will make this build too
    129 $(intermediates)/css/UserAgentStyleSheets.cpp : $(GEN)
    130 
    131 # XML attribute names
    132 
    133 GEN:= $(intermediates)/XMLNSNames.cpp
    134 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    135 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --attrs $(xmlns_attrs) --output $(dir $@) 
    136 $(GEN): xmlns_attrs := $(LOCAL_PATH)/xml/xmlnsattrs.in
    137 $(GEN): $(LOCAL_PATH)/dom/make_names.pl $(xmlns_attrs)
    138 	$(transform-generated-source)
    139 LOCAL_GENERATED_SOURCES += $(GEN)
    140 
    141 GEN:= $(intermediates)/XMLNames.cpp
    142 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    143 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --attrs $(xml_attrs) --output $(dir $@) 
    144 $(GEN): xml_attrs := $(LOCAL_PATH)/xml/xmlattrs.in
    145 $(GEN): $(LOCAL_PATH)/dom/make_names.pl $(xml_attrs)
    146 	$(transform-generated-source)
    147 LOCAL_GENERATED_SOURCES += $(GEN)
    148 
    149 # XLink attribute names
    150 
    151 ifeq ($(ENABLE_SVG), true)
    152 GEN:= $(intermediates)/XLinkNames.cpp
    153 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
    154 $(GEN): PRIVATE_CUSTOM_TOOL = perl -I $(PRIVATE_PATH)/bindings/scripts $< --attrs $(xlink_attrs) --output $(dir $@) 
    155 $(GEN): xlink_attrs := $(LOCAL_PATH)/svg/xlinkattrs.in
    156 $(GEN): $(LOCAL_PATH)/dom/make_names.pl $(xlink_attrs)
    157 	$(transform-generated-source)
    158 LOCAL_GENERATED_SOURCES += $(GEN)
    159 endif
    160