OSDN Git Service

Add bound checks to utf16_to_utf8
[android-x86/frameworks-base.git] / tools / aapt / Android.mk
1 #
2 # Copyright (C) 2014 The Android Open Source Project
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #      http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16
17 # This tool is prebuilt if we're doing an app-only build.
18 ifeq ($(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)),)
19
20 # ==========================================================
21 # Setup some common variables for the different build
22 # targets here.
23 # ==========================================================
24 LOCAL_PATH:= $(call my-dir)
25
26 aaptMain := Main.cpp
27 aaptSources := \
28     AaptAssets.cpp \
29     AaptConfig.cpp \
30     AaptUtil.cpp \
31     AaptXml.cpp \
32     ApkBuilder.cpp \
33     Command.cpp \
34     CrunchCache.cpp \
35     FileFinder.cpp \
36     Images.cpp \
37     Package.cpp \
38     pseudolocalize.cpp \
39     Resource.cpp \
40     ResourceFilter.cpp \
41     ResourceIdCache.cpp \
42     ResourceTable.cpp \
43     SourcePos.cpp \
44     StringPool.cpp \
45     WorkQueue.cpp \
46     XMLNode.cpp \
47     ZipEntry.cpp \
48     ZipFile.cpp
49
50 aaptTests := \
51     tests/AaptConfig_test.cpp \
52     tests/AaptGroupEntry_test.cpp \
53     tests/Pseudolocales_test.cpp \
54     tests/ResourceFilter_test.cpp \
55     tests/ResourceTable_test.cpp
56
57 aaptHostStaticLibs := \
58     libandroidfw \
59     libpng \
60     libutils \
61     liblog \
62     libcutils \
63     libexpat \
64     libziparchive-host \
65     libbase
66
67 aaptCFlags := -DAAPT_VERSION=\"$(BUILD_NUMBER_FROM_FILE)\"
68 aaptCFlags += -Wall -Werror
69
70 aaptHostLdLibs_linux := -lrt -ldl -lpthread
71
72 # Statically link libz for MinGW (Win SDK under Linux),
73 # and dynamically link for all others.
74 aaptHostStaticLibs_windows := libz
75 aaptHostLdLibs_linux += -lz
76 aaptHostLdLibs_darwin := -lz
77
78
79 # ==========================================================
80 # Build the host static library: libaapt
81 # ==========================================================
82 include $(CLEAR_VARS)
83
84 LOCAL_MODULE := libaapt
85 LOCAL_MODULE_HOST_OS := darwin linux windows
86 LOCAL_CFLAGS := -Wno-format-y2k -DSTATIC_ANDROIDFW_FOR_TOOLS $(aaptCFlags)
87 LOCAL_CPPFLAGS := $(aaptCppFlags)
88 LOCAL_CFLAGS_darwin := -D_DARWIN_UNLIMITED_STREAMS
89 LOCAL_SRC_FILES := $(aaptSources)
90 LOCAL_STATIC_LIBRARIES := $(aaptHostStaticLibs)
91 LOCAL_STATIC_LIBRARIES_windows := $(aaptHostStaticLibs_windows)
92
93 include $(BUILD_HOST_STATIC_LIBRARY)
94
95 # ==========================================================
96 # Build the host executable: aapt
97 # ==========================================================
98 include $(CLEAR_VARS)
99
100 LOCAL_MODULE := aapt
101 LOCAL_MODULE_HOST_OS := darwin linux windows
102 LOCAL_CFLAGS := $(aaptCFlags)
103 LOCAL_CPPFLAGS := $(aaptCppFlags)
104 LOCAL_LDLIBS_darwin := $(aaptHostLdLibs_darwin)
105 LOCAL_LDLIBS_linux := $(aaptHostLdLibs_linux)
106 LOCAL_SRC_FILES := $(aaptMain)
107 LOCAL_STATIC_LIBRARIES := libaapt $(aaptHostStaticLibs)
108 LOCAL_STATIC_LIBRARIES_windows := $(aaptHostStaticLibs_windows)
109
110 include $(BUILD_HOST_EXECUTABLE)
111
112
113 # ==========================================================
114 # Build the host tests: libaapt_tests
115 # ==========================================================
116 include $(CLEAR_VARS)
117
118 LOCAL_MODULE := libaapt_tests
119 LOCAL_CFLAGS := $(aaptCFlags)
120 LOCAL_CPPFLAGS := $(aaptCppFlags)
121 LOCAL_LDLIBS_darwin := $(aaptHostLdLibs_darwin)
122 LOCAL_LDLIBS_linux := $(aaptHostLdLibs_linux)
123 LOCAL_SRC_FILES := $(aaptTests)
124 LOCAL_C_INCLUDES := $(LOCAL_PATH)
125 LOCAL_STATIC_LIBRARIES := libaapt $(aaptHostStaticLibs)
126 LOCAL_STATIC_LIBRARIES_windows := $(aaptHostStaticLibs_windows)
127
128 include $(BUILD_HOST_NATIVE_TEST)
129
130
131 endif # No TARGET_BUILD_APPS or TARGET_BUILD_PDK