Android.mk revision 4e371cec7fa13273f81b9266c88ca846ece87096
1cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# Copyright (C) 2008 The Android Open Source Project
2cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project#
3cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# Licensed under the Apache License, Version 2.0 (the "License");
4cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# you may not use this file except in compliance with the License.
5cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# You may obtain a copy of the License at
6cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project#
7cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project#      http://www.apache.org/licenses/LICENSE-2.0
8cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project#
9cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# Unless required by applicable law or agreed to in writing, software
10cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# distributed under the License is distributed on an "AS IS" BASIS,
11cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# See the License for the specific language governing permissions and
13cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# limitations under the License.
14cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project
15cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source ProjectLOCAL_PATH:= $(call my-dir)
16cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project
17cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# libutils is a little unique: It's built twice, once for the host
18cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# and once for the device.
19cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project
20cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source ProjectcommonSources:= \
21e735f23018b398f45bd052b63616d7a45e29515bJeff Brown	BasicHashtable.cpp \
221a20993c1000da3f008b34b7a5e6dbbd6fe291a6Jamie Gennis	BlobCache.cpp \
23cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	BufferedTextOutput.cpp \
24cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	CallStack.cpp \
25cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	Debug.cpp \
26cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	FileMap.cpp \
27a580e68cc3bea688167eb5e55122bec8e83ab939Mathias Agopian	Flattenable.cpp \
28b86c8e4e55c860a6a7e1009fda2a4803da45b412Jason Simmons	LinearTransform.cpp \
2904cbbc1c47c68e805d2674d9fc702fc44385805fJeff Brown	PropertyMap.cpp \
30cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	RefBase.cpp \
31cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	SharedBuffer.cpp \
32cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	Static.cpp \
33cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	StopWatch.cpp \
34cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	String8.cpp \
35cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	String16.cpp \
36254406e313f8fcb2b63e63494573673e82036dd9Mathias Agopian	StringArray.cpp \
37cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	SystemClock.cpp \
38cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	TextOutput.cpp \
39cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	Threads.cpp \
40cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	Timers.cpp \
41647925ddf053989b641b4c5c8a51efd55c931f22Jeff Brown	Tokenizer.cpp \
42ba0165bef09729a33ab8e0ca329342be05e0d859Kenny Root	Unicode.cpp \
43cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	VectorImpl.cpp \
4427e6eaae879309d6bbfb708e1e1aa75d7431a3a4Jeff Brown	WorkQueue.cpp \
453abdea92efbe85c66d7f2dc662953d0b5ed59451Colin Cross	ZipFileCRO.cpp \
463abdea92efbe85c66d7f2dc662953d0b5ed59451Colin Cross	ZipFileRO.cpp \
473abdea92efbe85c66d7f2dc662953d0b5ed59451Colin Cross	ZipUtils.cpp \
4814d978d02d93f8976ff8b01c2f827fc7c83f4fbdMathias Agopian	misc.cpp
49cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project
50a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsiehhost_commonCflags := -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS)
51cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project
52cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectifeq ($(HOST_OS),windows)
53cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectifeq ($(strip $(USE_CYGWIN),),)
54cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# Under MinGW, ctype.h doesn't need multi-byte support
55a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsiehhost_commonCflags += -DMB_CUR_MAX=1
56cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectendif
57cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectendif
58cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project
59a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsiehhost_commonLdlibs :=
60a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh
6126ad34522e85b4427ec0ae662dd43eb78a2c5f95Iliyan Malchevifeq ($(TARGET_OS),linux)
62a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsiehhost_commonLdlibs += -lrt -ldl
6326ad34522e85b4427ec0ae662dd43eb78a2c5f95Iliyan Malchevendif
6426ad34522e85b4427ec0ae662dd43eb78a2c5f95Iliyan Malchev
65a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh
66a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh# For the host
67a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh# =====================================================
68a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsiehinclude $(CLEAR_VARS)
69a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_SRC_FILES:= $(commonSources)
704e371cec7fa13273f81b9266c88ca846ece87096Keun young Parkifeq ($(HOST_OS), linux)
714e371cec7fa13273f81b9266c88ca846ece87096Keun young ParkLOCAL_SRC_FILES += Looper.cpp
724e371cec7fa13273f81b9266c88ca846ece87096Keun young Parkendif
73a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_MODULE:= libutils
74e29b5c384b0dc7658ba320d1fba38a4a772e1bf1Colin CrossLOCAL_STATIC_LIBRARIES := libz
75e29b5c384b0dc7658ba320d1fba38a4a772e1bf1Colin CrossLOCAL_C_INCLUDES := \
76e29b5c384b0dc7658ba320d1fba38a4a772e1bf1Colin Cross	external/zlib
77a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_CFLAGS += $(host_commonCflags)
78a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_LDLIBS += $(host_commonLdlibs)
79a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsiehinclude $(BUILD_HOST_STATIC_LIBRARY)
80a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh
81a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh
82a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh# For the host, 64-bit
83a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh# =====================================================
84a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsiehinclude $(CLEAR_VARS)
85a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_SRC_FILES:= $(commonSources)
864e371cec7fa13273f81b9266c88ca846ece87096Keun young Parkifeq ($(HOST_OS), linux)
874e371cec7fa13273f81b9266c88ca846ece87096Keun young ParkLOCAL_SRC_FILES += Looper.cpp
884e371cec7fa13273f81b9266c88ca846ece87096Keun young Parkendif
89a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_MODULE:= lib64utils
90e29b5c384b0dc7658ba320d1fba38a4a772e1bf1Colin CrossLOCAL_STATIC_LIBRARIES := libz
91e29b5c384b0dc7658ba320d1fba38a4a772e1bf1Colin CrossLOCAL_C_INCLUDES := \
92e29b5c384b0dc7658ba320d1fba38a4a772e1bf1Colin Cross	external/zlib
93a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_CFLAGS += $(host_commonCflags) -m64
94a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_LDLIBS += $(host_commonLdlibs)
95cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectinclude $(BUILD_HOST_STATIC_LIBRARY)
96cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project
97cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project
98cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# For the device
99cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# =====================================================
100cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectinclude $(CLEAR_VARS)
101cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project
102cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project
103cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# we have the common sources, plus some device-specific stuff
104cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source ProjectLOCAL_SRC_FILES:= \
105cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	$(commonSources) \
1062ccfe1a0606f59b5cefd177f9dd5c837d0ea2d0bJamie Gennis	Looper.cpp \
1072ccfe1a0606f59b5cefd177f9dd5c837d0ea2d0bJamie Gennis	Trace.cpp
108cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project
109cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectifeq ($(TARGET_OS),linux)
110cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source ProjectLOCAL_LDLIBS += -lrt -ldl
111cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectendif
112cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project
113cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source ProjectLOCAL_C_INCLUDES += \
1143abdea92efbe85c66d7f2dc662953d0b5ed59451Colin Cross		bionic/libc/private \
1153abdea92efbe85c66d7f2dc662953d0b5ed59451Colin Cross		external/zlib
1161555436473afd296488235f0aa22bb17162a929fMathias Agopian
117cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source ProjectLOCAL_LDLIBS += -lpthread
118cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project
119cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source ProjectLOCAL_SHARED_LIBRARIES := \
120cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project	liblog \
1219c63a80f1f39fb969ec439e6b51614abb883d370Mathias Agopian	libcutils \
122ea45b01f9bc2d1ef1f8d97ca0480336d23e0aa97Jeff Brown	libdl \
1233abdea92efbe85c66d7f2dc662953d0b5ed59451Colin Cross	libcorkscrew \
1243abdea92efbe85c66d7f2dc662953d0b5ed59451Colin Cross	libz
125cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project
126cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source ProjectLOCAL_MODULE:= libutils
127cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY)
128cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project
1297aba23129b339f6f6ea4c378aa5f3a78d7f677ddJeff Brown# Include subdirectory makefiles
1307aba23129b339f6f6ea4c378aa5f3a78d7f677ddJeff Brown# ============================================================
1317aba23129b339f6f6ea4c378aa5f3a78d7f677ddJeff Brown
1327aba23129b339f6f6ea4c378aa5f3a78d7f677ddJeff Brown# If we're building with ONE_SHOT_MAKEFILE (mm, mmm), then what the framework
1337aba23129b339f6f6ea4c378aa5f3a78d7f677ddJeff Brown# team really wants is to build the stuff defined by this makefile.
1347aba23129b339f6f6ea4c378aa5f3a78d7f677ddJeff Brownifeq (,$(ONE_SHOT_MAKEFILE))
1357aba23129b339f6f6ea4c378aa5f3a78d7f677ddJeff Browninclude $(call first-makefiles-under,$(LOCAL_PATH))
136c28f214f6c65c56936b11fff68564d9631cfae70Christopher Tateendif
137