Android.mk revision 1c097a9c21096a0d677f336081bfdeb4cfc96063
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) 681c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE := MTLmr3m.ttf 691c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_SRC_FILES := $(LOCAL_MODULE) 701c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE_CLASS := ETC 711c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE_TAGS := optional 721c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE_PATH := $(TARGET_OUT)/fonts 731c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brennerinclude $(BUILD_PREBUILT) 741c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brenner 751c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brennerinclude $(CLEAR_VARS) 761c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE := fallback_fonts-ja.xml 771c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_SRC_FILES := $(LOCAL_MODULE) 781c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE_CLASS := ETC 791c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE_TAGS := optional 801c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_MODULE_PATH := $(TARGET_OUT_ETC) 811c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brennerinclude $(BUILD_PREBUILT) 821c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brenner 838e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wangdroidsans_fallback_src := DroidSansFallbackFull.ttf 841c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brennerextra_font_files := \ 851c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brenner DroidSans.ttf \ 861c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brenner DroidSans-Bold.ttf \ 871c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brenner DroidSansEthiopic-Regular.ttf \ 881c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brenner MTLmr3m.ttf \ 891c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brenner fallback_fonts-ja.xml 908e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wangendif # SMALLER_FONT_FOOTPRINT 918e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang 92193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang################################ 9346b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wanginclude $(CLEAR_VARS) 948e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying WangLOCAL_MODULE := DroidSansFallback.ttf 958e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying WangLOCAL_SRC_FILES := $(droidsans_fallback_src) 9646b20e7f41ded340596b732aaf08cc2d05a8e842Ying WangLOCAL_MODULE_CLASS := ETC 9746b20e7f41ded340596b732aaf08cc2d05a8e842Ying WangLOCAL_MODULE_TAGS := optional 9846b20e7f41ded340596b732aaf08cc2d05a8e842Ying WangLOCAL_MODULE_PATH := $(TARGET_OUT)/fonts 991c097a9c21096a0d677f336081bfdeb4cfc96063Russell BrennerLOCAL_REQUIRED_MODULES := $(extra_font_files) 10046b20e7f41ded340596b732aaf08cc2d05a8e842Ying Wanginclude $(BUILD_PREBUILT) 1018e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wang 1028e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wangfont_symlink_src := 1038e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wangfont_symlink := 1048e359817da14f6a4ffcf3bf4f7a59bc4fef8c211Ying Wangdroidsans_fallback_src := 1051c097a9c21096a0d677f336081bfdeb4cfc96063Russell Brennerextra_font_files := 106193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang 107193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang################################ 108193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang# Build the rest font files as prebuilt. 109193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang 110193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang# $(1): The source file name in LOCAL_PATH. 111193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang# It also serves as the module name and the dest file name. 112193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wangdefine build-one-font-module 113193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(eval include $(CLEAR_VARS))\ 114193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(eval LOCAL_MODULE := $(1))\ 115193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(eval LOCAL_SRC_FILES := $(1))\ 116193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(eval LOCAL_MODULE_CLASS := ETC)\ 117193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(eval LOCAL_MODULE_TAGS := optional)\ 118193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(eval LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts)\ 119193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(eval include $(BUILD_PREBUILT)) 120193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wangendef 121193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang 122193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wangfont_src_files := \ 123193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang Roboto-Regular.ttf \ 124193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang Roboto-Bold.ttf \ 125193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang Roboto-Italic.ttf \ 126193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang Roboto-BoldItalic.ttf \ 127193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSansArabic.ttf \ 128193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidNaskh-Regular.ttf \ 129193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSansHebrew-Regular.ttf \ 130193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSansHebrew-Bold.ttf \ 131193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSansThai.ttf \ 132193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSerif-Regular.ttf \ 133193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSerif-Bold.ttf \ 134193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSerif-Italic.ttf \ 135193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSerif-BoldItalic.ttf \ 136193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSansMono.ttf \ 137193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSansArmenian.ttf \ 138193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang DroidSansGeorgian.ttf \ 139193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang AndroidEmoji.ttf \ 140193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang Clockopia.ttf \ 141193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang AndroidClock.ttf \ 142193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang AndroidClock_Highlight.ttf \ 143193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang AndroidClock_Solid.ttf \ 144193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang 145193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang$(foreach f, $(font_src_files), $(call build-one-font-module, $(f))) 146193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wang 147193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wangbuild-one-font-module := 148193ec66214ecf4cdb43702655a4a571ae0c7e6ceYing Wangfont_src_files := 149