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