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