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