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