Android.mk revision 289c09aae5879936bdeeabdc8047fcf2c7d28c6e
146b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang# Copyright (C) 2011 The Android Open Source Project
246b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang#
346b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang# Licensed under the Apache License, Version 2.0 (the "License");
446b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang# you may not use this file except in compliance with the License.
546b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang# You may obtain a copy of the License at
646b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang#
746b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang#      http://www.apache.org/licenses/LICENSE-2.0
846b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang#
946b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang# Unless required by applicable law or agreed to in writing, software
1046b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang# distributed under the License is distributed on an "AS IS" BASIS,
1146b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1246b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang# See the License for the specific language governing permissions and
1346b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang# limitations under the License.
1446b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang
1546b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang# We have to use BUILD_PREBUILT instead of PRODUCT_COPY_FIES,
1646b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang# because SMALLER_FONT_FOOTPRINT is only available in Android.mks.
1746b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang
1846b20e7f41ded340596b732aaf08cc2d05a8e842Ying WangLOCAL_PATH := $(call my-dir)
1946b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang
208e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang##########################################
218e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang# We may only afford small font footprint.
228e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang##########################################
238e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang# Use only symlinks.
248e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang# Symlink: DroidSans.ttf -> Roboto-Regular.ttf
258e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying WangLOCAL_MODULE := DroidSans.ttf
268e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wangfont_symlink_src := $(PRODUCT_OUT)/system/fonts/Roboto-Regular.ttf
278e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wangfont_symlink := $(dir $(font_symlink_src))$(LOCAL_MODULE)
288e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang$(font_symlink) : $(font_symlink_src)
298e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang	@echo "Symlink: $@ -> $<"
308e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang	@mkdir -p $(dir $@)
318e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang	@rm -rf $@
328e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang	$(hide) ln -sf $(notdir $<) $@
3346b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang
348e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang# this magic makes LOCAL_REQUIRED_MODULES work
358e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying WangALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
368e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang    $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(font_symlink)
3746b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang
388e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang################################
398e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang# Symlink: DroidSans-Bold.ttf -> Roboto-Bold.ttf
408e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying WangLOCAL_MODULE := DroidSans-Bold.ttf
418e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wangfont_symlink_src := $(PRODUCT_OUT)/system/fonts/Roboto-Bold.ttf
428e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wangfont_symlink := $(dir $(font_symlink_src))$(LOCAL_MODULE)
438e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang$(font_symlink) : $(font_symlink_src)
448e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang	@echo "Symlink: $@ -> $<"
458e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang	@mkdir -p $(dir $@)
468e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang	@rm -rf $@
478e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang	$(hide) ln -sf $(notdir $<) $@
488e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang
498e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang# this magic makes LOCAL_REQUIRED_MODULES work
508e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying WangALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
518e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang    $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(font_symlink)
5246b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang
538e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang################################
54193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang# On space-constrained devices, we include a subset of fonts:
55193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wangifeq ($(SMALLER_FONT_FOOTPRINT),true)
56193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wangdroidsans_fallback_src := DroidSansFallback.ttf
571c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brennerextra_font_files := DroidSans.ttf DroidSans-Bold.ttf
58193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wangelse
5946b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wanginclude $(CLEAR_VARS)
608e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying WangLOCAL_MODULE := DroidSansEthiopic-Regular.ttf
6146b20e7f41ded340596b732aaf08cc2d05a8e842Ying WangLOCAL_SRC_FILES := $(LOCAL_MODULE)
6246b20e7f41ded340596b732aaf08cc2d05a8e842Ying WangLOCAL_MODULE_CLASS := ETC
6346b20e7f41ded340596b732aaf08cc2d05a8e842Ying WangLOCAL_MODULE_TAGS := optional
6446b20e7f41ded340596b732aaf08cc2d05a8e842Ying WangLOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
6546b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wanginclude $(BUILD_PREBUILT)
6646b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wang
671c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brennerinclude $(CLEAR_VARS)
68bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria LeaseLOCAL_MODULE := DroidSansTamil-Regular.ttf
69bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria LeaseLOCAL_SRC_FILES := $(LOCAL_MODULE)
70bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria LeaseLOCAL_MODULE_CLASS := ETC
71bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria LeaseLOCAL_MODULE_TAGS := optional
72bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria LeaseLOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
73bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria Leaseinclude $(BUILD_PREBUILT)
74bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria Lease
75bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria Leaseinclude $(CLEAR_VARS)
76bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria LeaseLOCAL_MODULE := DroidSansTamil-Bold.ttf
77bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria LeaseLOCAL_SRC_FILES := $(LOCAL_MODULE)
78bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria LeaseLOCAL_MODULE_CLASS := ETC
79bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria LeaseLOCAL_MODULE_TAGS := optional
80bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria LeaseLOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
81bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria Leaseinclude $(BUILD_PREBUILT)
82bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria Lease
83bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria Leaseinclude $(CLEAR_VARS)
841c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE := MTLmr3m.ttf
851c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_SRC_FILES := $(LOCAL_MODULE)
861c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE_CLASS := ETC
871c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE_TAGS := optional
881c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
891c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brennerinclude $(BUILD_PREBUILT)
901c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brenner
911c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brennerinclude $(CLEAR_VARS)
921c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE := fallback_fonts-ja.xml
931c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_SRC_FILES := $(LOCAL_MODULE)
941c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE_CLASS := ETC
951c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE_TAGS := optional
961c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE_PATH := $(TARGET_OUT_ETC)
971c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brennerinclude $(BUILD_PREBUILT)
981c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brenner
998e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wangdroidsans_fallback_src := DroidSansFallbackFull.ttf
1001c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brennerextra_font_files := \
1011c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brenner	DroidSans.ttf \
1021c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brenner	DroidSans-Bold.ttf \
1031c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brenner	DroidSansEthiopic-Regular.ttf \
104bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria Lease	DroidSansTamil-Regular.ttf \
105bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria Lease	DroidSansTamil-Bold.ttf \
1061c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brenner	MTLmr3m.ttf \
1071c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brenner	fallback_fonts-ja.xml
1088e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wangendif  # SMALLER_FONT_FOOTPRINT
1098e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang
110193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang################################
11146b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wanginclude $(CLEAR_VARS)
1128e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying WangLOCAL_MODULE := DroidSansFallback.ttf
1138e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying WangLOCAL_SRC_FILES := $(droidsans_fallback_src)
11446b20e7f41ded340596b732aaf08cc2d05a8e842Ying WangLOCAL_MODULE_CLASS := ETC
11546b20e7f41ded340596b732aaf08cc2d05a8e842Ying WangLOCAL_MODULE_TAGS := optional
11646b20e7f41ded340596b732aaf08cc2d05a8e842Ying WangLOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
1171c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_REQUIRED_MODULES := $(extra_font_files)
11846b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wanginclude $(BUILD_PREBUILT)
1198e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang
1208e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wangfont_symlink_src :=
1218e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wangfont_symlink :=
1228e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wangdroidsans_fallback_src :=
1231c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brennerextra_font_files :=
124193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang
125193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang################################
126193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang# Build the rest font files as prebuilt.
127193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang
128193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang# $(1): The source file name in LOCAL_PATH.
129193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang#       It also serves as the module name and the dest file name.
130193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wangdefine build-one-font-module
131193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(eval include $(CLEAR_VARS))\
132193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(eval LOCAL_MODULE := $(1))\
133193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(eval LOCAL_SRC_FILES := $(1))\
134193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(eval LOCAL_MODULE_CLASS := ETC)\
135193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(eval LOCAL_MODULE_TAGS := optional)\
136193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(eval LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts)\
137193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(eval include $(BUILD_PREBUILT))
138193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wangendef
139193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang
140193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wangfont_src_files := \
141193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    Roboto-Regular.ttf \
142193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    Roboto-Bold.ttf \
143193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    Roboto-Italic.ttf \
144193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    Roboto-BoldItalic.ttf \
145289c09aae5879936bdeeabdc8047fcf2c7d28c6eRaph Levien    Roboto-Light.ttf \
146289c09aae5879936bdeeabdc8047fcf2c7d28c6eRaph Levien    Roboto-LightItalic.ttf \
147193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    DroidNaskh-Regular.ttf \
148cf4284bce11acadb1c36564b067bce3b0b26a9f9Fabrice Di Meglio    DroidNaskh-Regular-SystemUI.ttf \
149bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria Lease    DroidSansDevanagari-Regular.ttf \
150193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    DroidSansHebrew-Regular.ttf \
151193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    DroidSansHebrew-Bold.ttf \
152193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    DroidSansThai.ttf \
153193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    DroidSerif-Regular.ttf \
154193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    DroidSerif-Bold.ttf \
155193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    DroidSerif-Italic.ttf \
156193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    DroidSerif-BoldItalic.ttf \
157193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    DroidSansMono.ttf \
158193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    DroidSansArmenian.ttf \
159193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    DroidSansGeorgian.ttf \
160193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    AndroidEmoji.ttf \
161193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    Clockopia.ttf \
162193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    AndroidClock.ttf \
163193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    AndroidClock_Highlight.ttf \
164193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang    AndroidClock_Solid.ttf \
165193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang
166193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(foreach f, $(font_src_files), $(call build-one-font-module, $(f)))
167193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang
168193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wangbuild-one-font-module :=
169193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wangfont_src_files :=
170