Android.mk revision 5225620508a5a0d39de4f508cec5cecec60f527d
1# Copyright (C) 2011 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15# We have to use BUILD_PREBUILT instead of PRODUCT_COPY_FIES, 16# because SMALLER_FONT_FOOTPRINT is only available in Android.mks. 17 18LOCAL_PATH := $(call my-dir) 19 20# Use full Noto Sans Japanese font on non-smaller footprints 21ifneq ($(SMALLER_FONT_FOOTPRINT),true) 22FONT_NOTOSANS_JP_FULL := true 23endif 24 25########################################## 26# create symlink for given font 27# $(1): new font $(2): link target 28# should be used with eval: $(eval $(call ...)) 29define create-font-symlink 30$(PRODUCT_OUT)/system/fonts/$(1) : $(PRODUCT_OUT)/system/fonts/$(2) 31 @echo "Symlink: $$@ -> $$<" 32 @mkdir -p $$(dir $$@) 33 @rm -rf $$@ 34 $(hide) ln -sf $$(notdir $$<) $$@ 35# this magic makes LOCAL_REQUIRED_MODULES work 36ALL_MODULES.$(1).INSTALLED := \ 37 $(ALL_MODULES.$(1).INSTALLED) $(PRODUCT_OUT)/system/fonts/$(1) 38endef 39 40########################################## 41# The following fonts are just symlinks, for backward compatibility. 42########################################## 43$(eval $(call create-font-symlink,DroidSans.ttf,Roboto-Regular.ttf)) 44$(eval $(call create-font-symlink,DroidSans-Bold.ttf,Roboto-Bold.ttf)) 45$(eval $(call create-font-symlink,DroidSerif-Regular.ttf,NotoSerif-Regular.ttf)) 46$(eval $(call create-font-symlink,DroidSerif-Bold.ttf,NotoSerif-Bold.ttf)) 47$(eval $(call create-font-symlink,DroidSerif-Italic.ttf,NotoSerif-Italic.ttf)) 48$(eval $(call create-font-symlink,DroidSerif-BoldItalic.ttf,NotoSerif-BoldItalic.ttf)) 49 50extra_font_files := \ 51 DroidSans.ttf \ 52 DroidSans-Bold.ttf 53 54################################ 55# Do not include Motoya on space-constrained devices 56ifneq ($(SMALLER_FONT_FOOTPRINT),true) 57# Do not include Motoya if we are including Noto Sans Japanese 58ifneq ($(FONT_NOTOSANS_JP_FULL),true) 59 60include $(CLEAR_VARS) 61LOCAL_MODULE := MTLmr3m.ttf 62LOCAL_SRC_FILES := $(LOCAL_MODULE) 63LOCAL_MODULE_CLASS := ETC 64LOCAL_MODULE_TAGS := optional 65LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts 66include $(BUILD_PREBUILT) 67extra_font_files += MTLmr3m.ttf 68 69endif # !FONT_NOTOSANS_JP_FULL 70endif # !SMALLER_FONT_FOOTPRINT 71 72################################ 73# Use DroidSansMono to hang extra_font_files on 74include $(CLEAR_VARS) 75LOCAL_MODULE := DroidSansMono.ttf 76LOCAL_SRC_FILES := $(LOCAL_MODULE) 77LOCAL_MODULE_CLASS := ETC 78LOCAL_MODULE_TAGS := optional 79LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts 80LOCAL_REQUIRED_MODULES := $(extra_font_files) 81include $(BUILD_PREBUILT) 82extra_font_files := 83 84################################ 85# Include the DroidSansFallback subset on SMALLER_FONT_FOOTPRINT build 86ifeq ($(SMALLER_FONT_FOOTPRINT),true) 87 88include $(CLEAR_VARS) 89LOCAL_MODULE := DroidSansFallback.ttf 90LOCAL_SRC_FILES := $(LOCAL_MODULE) 91LOCAL_MODULE_CLASS := ETC 92LOCAL_MODULE_TAGS := optional 93LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts 94include $(BUILD_PREBUILT) 95droidsans_fallback_src := 96 97endif # SMALLER_FONT_FOOTPRINT 98 99################################ 100# Build the rest of font files as prebuilt. 101 102# $(1): The source file name in LOCAL_PATH. 103# It also serves as the module name and the dest file name. 104define build-one-font-module 105$(eval include $(CLEAR_VARS))\ 106$(eval LOCAL_MODULE := $(1))\ 107$(eval LOCAL_SRC_FILES := $(1))\ 108$(eval LOCAL_MODULE_CLASS := ETC)\ 109$(eval LOCAL_MODULE_TAGS := optional)\ 110$(eval LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts)\ 111$(eval include $(BUILD_PREBUILT)) 112endef 113 114font_src_files := \ 115 Clockopia.ttf \ 116 AndroidClock.ttf \ 117 AndroidClock_Highlight.ttf \ 118 AndroidClock_Solid.ttf 119 120$(foreach f, $(font_src_files), $(call build-one-font-module, $(f))) 121 122build-one-font-module := 123font_src_files := 124