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