Android.mk revision 467ea516175f5dfa52c4b9900d24e6b0062721d1
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 \ 147467ea516175f5dfa52c4b9900d24e6b0062721d1Raph Levien RobotoCondensed-Regular.ttf \ 148467ea516175f5dfa52c4b9900d24e6b0062721d1Raph Levien RobotoCondensed-Bold.ttf \ 149467ea516175f5dfa52c4b9900d24e6b0062721d1Raph Levien RobotoCondensed-Italic.ttf \ 150467ea516175f5dfa52c4b9900d24e6b0062721d1Raph Levien RobotoCondensed-BoldItalic.ttf \ 151193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidNaskh-Regular.ttf \ 152cf4284bce11acadb1c36564b067bce3b0b26a9f9Fabrice Di Meglio DroidNaskh-Regular-SystemUI.ttf \ 153bd1844d272afd7416a37765b90ecd843c0b99c9fVictoria Lease DroidSansDevanagari-Regular.ttf \ 154193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSansHebrew-Regular.ttf \ 155193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSansHebrew-Bold.ttf \ 156193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSansThai.ttf \ 157193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSerif-Regular.ttf \ 158193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSerif-Bold.ttf \ 159193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSerif-Italic.ttf \ 160193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSerif-BoldItalic.ttf \ 161193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSansMono.ttf \ 162193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSansArmenian.ttf \ 163193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSansGeorgian.ttf \ 164193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang AndroidEmoji.ttf \ 165193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang Clockopia.ttf \ 166193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang AndroidClock.ttf \ 167193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang AndroidClock_Highlight.ttf \ 168193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang AndroidClock_Solid.ttf \ 169193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang 170193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(foreach f, $(font_src_files), $(call build-one-font-module, $(f))) 171193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang 172193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wangbuild-one-font-module := 173193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wangfont_src_files := 174