Android.mk revision feefeb4f308261907f5ea5705d66736d45633a27
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 \ 306f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ConfigDescription.cpp \ 316f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Files.cpp \ 326f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski JavaClassGenerator.cpp \ 336f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Linker.cpp \ 346f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Locale.cpp \ 356f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Logger.cpp \ 366f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ManifestParser.cpp \ 376f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ManifestValidator.cpp \ 386f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ResChunkPullParser.cpp \ 396f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Resolver.cpp \ 406f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Resource.cpp \ 416f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ResourceParser.cpp \ 426f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ResourceTable.cpp \ 436f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ResourceValues.cpp \ 446f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski SdkConstants.cpp \ 456f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski StringPool.cpp \ 466f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski TableFlattener.cpp \ 476f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Util.cpp \ 486f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ScopedXmlPullParser.cpp \ 496f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski SourceXmlPullParser.cpp \ 506f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski XliffXmlPullParser.cpp \ 516f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski XmlFlattener.cpp 526f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 536f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskitestSources := \ 546f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski BigBuffer_test.cpp \ 556f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Compat_test.cpp \ 566f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ConfigDescription_test.cpp \ 576f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski JavaClassGenerator_test.cpp \ 586f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Linker_test.cpp \ 596f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Locale_test.cpp \ 606f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ManifestParser_test.cpp \ 616f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Maybe_test.cpp \ 626f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ResourceParser_test.cpp \ 636f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Resource_test.cpp \ 646f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ResourceTable_test.cpp \ 656f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski ScopedXmlPullParser_test.cpp \ 666f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski StringPiece_test.cpp \ 676f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski StringPool_test.cpp \ 686f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski Util_test.cpp \ 696f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski XliffXmlPullParser_test.cpp \ 706f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski XmlFlattener_test.cpp 716f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 726f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskicIncludes := 73feefeb4f308261907f5ea5705d66736d45633a27Adam LesinskihostLdLibs := 746f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 756f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskihostStaticLibs := \ 766f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski libandroidfw \ 776f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski libutils \ 786f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski liblog \ 796f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski libcutils \ 806f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski libexpat \ 816f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski libziparchive-host 826f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 83feefeb4f308261907f5ea5705d66736d45633a27Adam Lesinskiifneq ($(strip $(USE_MINGW)),) 84feefeb4f308261907f5ea5705d66736d45633a27Adam Lesinski hostStaticLibs += libz 85feefeb4f308261907f5ea5705d66736d45633a27Adam Lesinskielse 86feefeb4f308261907f5ea5705d66736d45633a27Adam Lesinski hostLdLibs += -lz 87feefeb4f308261907f5ea5705d66736d45633a27Adam Lesinskiendif 88feefeb4f308261907f5ea5705d66736d45633a27Adam Lesinski 896f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskicFlags := -Wall -Werror -Wno-unused-parameter -UNDEBUG 906f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskicppFlags := -std=c++11 -Wno-missing-field-initializers 916f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 926f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# ========================================================== 936f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# Build the host static library: libaapt2 946f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# ========================================================== 956f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskiinclude $(CLEAR_VARS) 966f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_MODULE := libaapt2 976f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 986f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_SRC_FILES := $(sources) 996f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_C_INCLUDES += $(cIncludes) 1006f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_CFLAGS += $(cFlags) 1016f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_CPPFLAGS += $(cppFlags) 1026f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1036f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskiinclude $(BUILD_HOST_STATIC_LIBRARY) 1046f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1056f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1066f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# ========================================================== 1076f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# Build the host tests: libaapt2_tests 1086f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# ========================================================== 1096f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskiinclude $(CLEAR_VARS) 1106f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_MODULE := libaapt2_tests 1116f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_MODULE_TAGS := tests 1126f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1136f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_SRC_FILES := $(testSources) 1146f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1156f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_C_INCLUDES += $(cIncludes) 1166f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_STATIC_LIBRARIES += libaapt2 $(hostStaticLibs) 1176f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_LDLIBS += $(hostLdLibs) 1186f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_CFLAGS += $(cFlags) 1196f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_CPPFLAGS += $(cppFlags) 1206f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1216f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskiinclude $(BUILD_HOST_NATIVE_TEST) 1226f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1236f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# ========================================================== 1246f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# Build the host executable: aapt2 1256f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski# ========================================================== 1266f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskiinclude $(CLEAR_VARS) 1276f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_MODULE := aapt2 1286f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1296f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_SRC_FILES := $(main) 1306f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1316f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_C_INCLUDES += $(cIncludes) 1326f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_STATIC_LIBRARIES += libaapt2 $(hostStaticLibs) 1336f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_LDLIBS += $(hostLdLibs) 1346f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_CFLAGS += $(cFlags) 1356f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam LesinskiLOCAL_CPPFLAGS += $(cppFlags) 1366f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1376f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskiinclude $(BUILD_HOST_EXECUTABLE) 1386f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinski 1396f6ceb7e1456698b1f33e04536bfb3227f9fcfcbAdam Lesinskiendif # No TARGET_BUILD_APPS or TARGET_BUILD_PDK 140