Android.mk revision 51348d2007b801c7bd7350f72e2300f1a5a41dd1
16f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# 26f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# Copyright (C) 2015 The Android Open Source Project 36f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# 46f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# Licensed under the Apache License, Version 2.0 (the "License"); 56f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# you may not use this file except in compliance with the License. 66f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# You may obtain a copy of the License at 76f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# 86f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# http://www.apache.org/licenses/LICENSE-2.0 96f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# 106f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# Unless required by applicable law or agreed to in writing, software 116f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# distributed under the License is distributed on an "AS IS" BASIS, 126f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# See the License for the specific language governing permissions and 146f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# limitations under the License. 156f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# 166f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 176f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# This tool is prebuilt if we're doing an app-only build. 186f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskiifeq ($(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)),) 196f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 206f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# ========================================================== 216f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# Setup some common variables for the different build 226f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# targets here. 236f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# ========================================================== 246f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_PATH:= $(call my-dir) 256f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 266f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskimain := Main.cpp 276f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskisources := \ 286f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski BigBuffer.cpp \ 296f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski BinaryResourceParser.cpp \ 304d3a987694f6f6b95d8a0f1542618223ce253e6dAdam Lesinski BindingXmlPullParser.cpp \ 316f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ConfigDescription.cpp \ 32330edcdf1316ed599fe0eb16a64330821fd92f18Adam Lesinski Debug.cpp \ 336f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Files.cpp \ 3498aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski Flag.cpp \ 356f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski JavaClassGenerator.cpp \ 366f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Linker.cpp \ 376f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Locale.cpp \ 386f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Logger.cpp \ 398c831ca87bb7c8699b2a5cb34b8d35deedf9ce4eAdam Lesinski ManifestMerger.cpp \ 406f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ManifestParser.cpp \ 416f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ManifestValidator.cpp \ 4298aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski Png.cpp \ 43a1ad4a812a87642ad259ff4478159e8cc8194680Adam Lesinski ProguardRules.cpp \ 446f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ResChunkPullParser.cpp \ 456f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Resource.cpp \ 466f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ResourceParser.cpp \ 476f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ResourceTable.cpp \ 4824aad163bc88cb10d2275385e9afc3de7f342d65Adam Lesinski ResourceTableResolver.cpp \ 496f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ResourceValues.cpp \ 506f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski SdkConstants.cpp \ 516f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski StringPool.cpp \ 526f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski TableFlattener.cpp \ 536f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Util.cpp \ 546f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ScopedXmlPullParser.cpp \ 556f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski SourceXmlPullParser.cpp \ 566f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski XliffXmlPullParser.cpp \ 5775f3a55cc569a9b61f540a85d9828e91bdca5047Adam Lesinski XmlDom.cpp \ 58769de98f2dd41bfe39a1c9f76aefd1ad58942733Adam Lesinski XmlFlattener.cpp \ 59769de98f2dd41bfe39a1c9f76aefd1ad58942733Adam Lesinski ZipEntry.cpp \ 60769de98f2dd41bfe39a1c9f76aefd1ad58942733Adam Lesinski ZipFile.cpp 616f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 626f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskitestSources := \ 636f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski BigBuffer_test.cpp \ 644d3a987694f6f6b95d8a0f1542618223ce253e6dAdam Lesinski BindingXmlPullParser_test.cpp \ 656f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Compat_test.cpp \ 666f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ConfigDescription_test.cpp \ 676f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski JavaClassGenerator_test.cpp \ 686f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Linker_test.cpp \ 696f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Locale_test.cpp \ 708c831ca87bb7c8699b2a5cb34b8d35deedf9ce4eAdam Lesinski ManifestMerger_test.cpp \ 716f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ManifestParser_test.cpp \ 726f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Maybe_test.cpp \ 73769de98f2dd41bfe39a1c9f76aefd1ad58942733Adam Lesinski NameMangler_test.cpp \ 746f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ResourceParser_test.cpp \ 756f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Resource_test.cpp \ 766f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ResourceTable_test.cpp \ 776f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ScopedXmlPullParser_test.cpp \ 786f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski StringPiece_test.cpp \ 796f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski StringPool_test.cpp \ 806f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Util_test.cpp \ 816f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski XliffXmlPullParser_test.cpp \ 8275f3a55cc569a9b61f540a85d9828e91bdca5047Adam Lesinski XmlDom_test.cpp \ 836f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski XmlFlattener_test.cpp 846f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 85feefeb4f308261907f5ea5705d66736d45633a27Adam LesinskihostLdLibs := 866f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 876f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskihostStaticLibs := \ 886f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski libandroidfw \ 896f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski libutils \ 906f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski liblog \ 916f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski libcutils \ 926f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski libexpat \ 9398aa3ad6e46e3b0270785c8b3f9798e37e8af140Adam Lesinski libziparchive-host \ 94231e054dfd9dfc2e51ecd41dca5e8d93ae648954Narayan Kamath libpng \ 95231e054dfd9dfc2e51ecd41dca5e8d93ae648954Narayan Kamath libbase 966f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 97feefeb4f308261907f5ea5705d66736d45633a27Adam Lesinskiifneq ($(strip $(USE_MINGW)),) 98feefeb4f308261907f5ea5705d66736d45633a27Adam Lesinski hostStaticLibs += libz 99feefeb4f308261907f5ea5705d66736d45633a27Adam Lesinskielse 100feefeb4f308261907f5ea5705d66736d45633a27Adam Lesinski hostLdLibs += -lz 101feefeb4f308261907f5ea5705d66736d45633a27Adam Lesinskiendif 102feefeb4f308261907f5ea5705d66736d45633a27Adam Lesinski 1036f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskicFlags := -Wall -Werror -Wno-unused-parameter -UNDEBUG 1048c831ca87bb7c8699b2a5cb34b8d35deedf9ce4eAdam LesinskicppFlags := -std=c++11 -Wno-missing-field-initializers -Wno-unused-private-field 1056f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1066f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# ========================================================== 1076f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# Build the host static library: libaapt2 1086f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# ========================================================== 1096f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskiinclude $(CLEAR_VARS) 1106f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_MODULE := libaapt2 1116f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1126f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_SRC_FILES := $(sources) 11351348d2007b801c7bd7350f72e2300f1a5a41dd1Elliott HughesLOCAL_STATIC_LIBRARIES += $(hostStaticLibs) 1146f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_CFLAGS += $(cFlags) 1156f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_CPPFLAGS += $(cppFlags) 1166f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1176f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskiinclude $(BUILD_HOST_STATIC_LIBRARY) 1186f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1196f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1206f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# ========================================================== 1216f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# Build the host tests: libaapt2_tests 1226f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# ========================================================== 1236f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskiinclude $(CLEAR_VARS) 1246f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_MODULE := libaapt2_tests 1256f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_MODULE_TAGS := tests 1266f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1276f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_SRC_FILES := $(testSources) 1286f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1296f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_STATIC_LIBRARIES += libaapt2 $(hostStaticLibs) 1306f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_LDLIBS += $(hostLdLibs) 1316f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_CFLAGS += $(cFlags) 1326f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_CPPFLAGS += $(cppFlags) 1336f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1346f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskiinclude $(BUILD_HOST_NATIVE_TEST) 1356f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1366f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# ========================================================== 1376f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# Build the host executable: aapt2 1386f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# ========================================================== 1396f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskiinclude $(CLEAR_VARS) 1406f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_MODULE := aapt2 1416f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1426f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_SRC_FILES := $(main) 1436f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1446f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_STATIC_LIBRARIES += libaapt2 $(hostStaticLibs) 1456f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_LDLIBS += $(hostLdLibs) 1466f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_CFLAGS += $(cFlags) 1476f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_CPPFLAGS += $(cppFlags) 1486f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1496f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskiinclude $(BUILD_HOST_EXECUTABLE) 1506f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1516f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskiendif # No TARGET_BUILD_APPS or TARGET_BUILD_PDK 152