Android.mk revision 9c8ba9666d2fad27baae11e56d63485a22812d17
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# 2fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# Copyright (C) 2014 The Android Open Source Project 3fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# 4fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# Licensed under the Apache License, Version 2.0 (the "License"); 5fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# you may not use this file except in compliance with the License. 6fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# You may obtain a copy of the License at 7fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# 8fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# http://www.apache.org/licenses/LICENSE-2.0 9fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# 10fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# Unless required by applicable law or agreed to in writing, software 11fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# distributed under the License is distributed on an "AS IS" BASIS, 12fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# See the License for the specific language governing permissions and 14fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1774905e5b0a471f727ae5bed770c2c7441f5163a1Joe Onorato# This tool is prebuilt if we're doing an app-only build. 1874bebf6faed2d34814ffc3d46664330ea568f7b2Ying Wangifeq ($(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)),) 1974905e5b0a471f727ae5bed770c2c7441f5163a1Joe Onorato 20fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# ========================================================== 21fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# Setup some common variables for the different build 22fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# targets here. 23fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# ========================================================== 24fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam LesinskiLOCAL_PATH:= $(call my-dir) 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam LesinskiaaptMain := Main.cpp 27fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam LesinskiaaptSources := \ 28fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski AaptAssets.cpp \ 29fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski AaptConfig.cpp \ 30fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski AaptUtil.cpp \ 31ad2d07d2d98a46babb2a9472413fe9ce5080ca76Adam Lesinski AaptXml.cpp \ 32fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski ApkBuilder.cpp \ 33fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski Command.cpp \ 34fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski CrunchCache.cpp \ 35fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski FileFinder.cpp \ 364bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam Lesinski Images.cpp \ 37fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski Package.cpp \ 384bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam Lesinski pseudolocalize.cpp \ 394bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam Lesinski Resource.cpp \ 40fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski ResourceFilter.cpp \ 41fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski ResourceIdCache.cpp \ 42fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski ResourceTable.cpp \ 4355e3d60da5626752ffe1d15150d35ccb8fa644e7Mathias Agopian SourcePos.cpp \ 444bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam Lesinski StringPool.cpp \ 45fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski WorkQueue.cpp \ 464bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam Lesinski XMLNode.cpp \ 4755e3d60da5626752ffe1d15150d35ccb8fa644e7Mathias Agopian ZipEntry.cpp \ 484bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam Lesinski ZipFile.cpp 49fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski 50fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam LesinskiaaptTests := \ 51fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski tests/AaptConfig_test.cpp \ 52fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski tests/AaptGroupEntry_test.cpp \ 53fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski tests/ResourceFilter_test.cpp 54fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski 55fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam LesinskiaaptCIncludes := \ 56fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski external/libpng \ 57fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski external/zlib 58fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski 59fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam LesinskiaaptHostLdLibs := 60fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam LesinskiaaptHostStaticLibs := \ 61fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski libandroidfw \ 62fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski libpng \ 63fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski liblog \ 64fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski libutils \ 65fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski libcutils \ 66fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski libexpat \ 679c8ba9666d2fad27baae11e56d63485a22812d17Narayan Kamath libziparchive-host \ 689c8ba9666d2fad27baae11e56d63485a22812d17Narayan Kamath libbase 6955e3d60da5626752ffe1d15150d35ccb8fa644e7Mathias Agopian 70ad751224401564dcc8338df3d5c4c5de7722be8fAdam LesinskiaaptCFlags := -DAAPT_VERSION=\"$(BUILD_NUMBER)\" 7101f185633c1c12017731336e7f926fe398c69781Colin CrossaaptCFlags += -Wall -Werror 72ad751224401564dcc8338df3d5c4c5de7722be8fAdam Lesinski 73fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinskiifeq ($(HOST_OS),linux) 74fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski aaptHostLdLibs += -lrt -ldl -lpthread 75fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinskiendif 76fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski 77fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# Statically link libz for MinGW (Win SDK under Linux), 78fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# and dynamically link for all others. 79fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinskiifneq ($(strip $(USE_MINGW)),) 80fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski aaptHostStaticLibs += libz 81fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinskielse 82fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski aaptHostLdLibs += -lz 83fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinskiendif 84fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski 85fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski 86fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# ========================================================== 87fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# Build the host static library: libaapt 88fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# ========================================================== 89fb903a45d7b924c1dfacadaa99ebdf93fd8a1de4Bjorn Bringertinclude $(CLEAR_VARS) 90fb903a45d7b924c1dfacadaa99ebdf93fd8a1de4Bjorn Bringert 91fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam LesinskiLOCAL_MODULE := libaapt 924bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam LesinskiLOCAL_CFLAGS += -Wno-format-y2k -DSTATIC_ANDROIDFW_FOR_TOOLS $(aaptCFlags) 934bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam LesinskiLOCAL_CPPFLAGS += $(aaptCppFlags) 9441bdb03ffb81d7bcbf6fa35d7b40e196635c86f3Ying Wangifeq (darwin,$(HOST_OS)) 9541bdb03ffb81d7bcbf6fa35d7b40e196635c86f3Ying WangLOCAL_CFLAGS += -D_DARWIN_UNLIMITED_STREAMS 9641bdb03ffb81d7bcbf6fa35d7b40e196635c86f3Ying Wangendif 974bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam LesinskiLOCAL_C_INCLUDES += $(aaptCIncludes) 984bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam LesinskiLOCAL_SRC_FILES := $(aaptSources) 9941bdb03ffb81d7bcbf6fa35d7b40e196635c86f3Ying Wang 100fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinskiinclude $(BUILD_HOST_STATIC_LIBRARY) 1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 103fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# ========================================================== 104fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# Build the host executable: aapt 105fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# ========================================================== 106fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinskiinclude $(CLEAR_VARS) 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 108fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam LesinskiLOCAL_MODULE := aapt 109ad751224401564dcc8338df3d5c4c5de7722be8fAdam LesinskiLOCAL_CFLAGS += $(aaptCFlags) 1104bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam LesinskiLOCAL_CPPFLAGS += $(aaptCppFlags) 1114bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam LesinskiLOCAL_LDLIBS += $(aaptHostLdLibs) 1124bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam LesinskiLOCAL_SRC_FILES := $(aaptMain) 1134bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam LesinskiLOCAL_STATIC_LIBRARIES += libaapt $(aaptHostStaticLibs) 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinclude $(BUILD_HOST_EXECUTABLE) 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 117fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski 118fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# ========================================================== 119fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# Build the host tests: libaapt_tests 120fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# ========================================================== 121fb903a45d7b924c1dfacadaa99ebdf93fd8a1de4Bjorn Bringertinclude $(CLEAR_VARS) 12288ba339aefd74ffe0ea978ebb659a430f82940f0Dan AlbertLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 123fb903a45d7b924c1dfacadaa99ebdf93fd8a1de4Bjorn Bringert 124fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam LesinskiLOCAL_MODULE := libaapt_tests 1254bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam LesinskiLOCAL_CFLAGS += $(aaptCFlags) 1264bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam LesinskiLOCAL_CPPFLAGS += $(aaptCppFlags) 1274bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam LesinskiLOCAL_LDLIBS += $(aaptHostLdLibs) 128fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam LesinskiLOCAL_SRC_FILES += $(aaptTests) 129fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam LesinskiLOCAL_C_INCLUDES += $(LOCAL_PATH) 1304bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam LesinskiLOCAL_STATIC_LIBRARIES += libaapt $(aaptHostStaticLibs) 131fb903a45d7b924c1dfacadaa99ebdf93fd8a1de4Bjorn Bringert 132fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinskiinclude $(BUILD_HOST_NATIVE_TEST) 133fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski 134fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski 135fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# ========================================================== 136fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# Build the device executable: aapt 137fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski# ========================================================== 138fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinskiifneq ($(SDK_ONLY),true) 139fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinskiinclude $(CLEAR_VARS) 140fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski 141fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam LesinskiLOCAL_MODULE := aapt 1424bf58108d442b37ab4adf5ce3a4ecd63472ce254Adam LesinskiLOCAL_CFLAGS += $(aaptCFlags) 143fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam LesinskiLOCAL_SRC_FILES := $(aaptSources) $(aaptMain) 1443fd340028fc24198edb23ddf5eb5a0a100bab745Adam LesinskiLOCAL_C_INCLUDES += $(aaptCIncludes) 1455675b97f6591310d012a013a94a0ae9bd188d975Stephen HinesLOCAL_SHARED_LIBRARIES := \ 146fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski libandroidfw \ 147fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski libutils \ 148fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski libcutils \ 149fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski libpng \ 150fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski liblog \ 151fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski libz 152fb903a45d7b924c1dfacadaa99ebdf93fd8a1de4Bjorn BringertLOCAL_STATIC_LIBRARIES := \ 153fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski libexpat_static 154fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski 155fb903a45d7b924c1dfacadaa99ebdf93fd8a1de4Bjorn Bringertinclude $(BUILD_EXECUTABLE) 156fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinski 157fab50875b98e8274ac8ee44b38ba42521bbbf1f9Adam Lesinskiendif # Not SDK_ONLY 158fb903a45d7b924c1dfacadaa99ebdf93fd8a1de4Bjorn Bringert 15974bebf6faed2d34814ffc3d46664330ea568f7b2Ying Wangendif # No TARGET_BUILD_APPS or TARGET_BUILD_PDK 160