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 $(LOCAL_PATH)/css/mediaControlsAndroid.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