Android.mk revision b6ea175b6b4d0aaac85ed6cd8ccac01ab896486b
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 \ 28b6ea175b6b4d0aaac85ed6cd8ccac01ab896486bRaph Levien JenkinsHash.cpp \ 29b86c8e4e55c860a6a7e1009fda2a4803da45b412Jason Simmons LinearTransform.cpp \ 306454f461665a44b1e47d277d8b92415b5bbce2d8Jeff Brown Log.cpp \ 3104cbbc1c47c68e805d2674d9fc702fc44385805fJeff Brown PropertyMap.cpp \ 32cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project RefBase.cpp \ 33cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project SharedBuffer.cpp \ 34cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project Static.cpp \ 35cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project StopWatch.cpp \ 36cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project String8.cpp \ 37cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project String16.cpp \ 38254406e313f8fcb2b63e63494573673e82036dd9Mathias Agopian StringArray.cpp \ 39cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project SystemClock.cpp \ 40cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project TextOutput.cpp \ 41cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project Threads.cpp \ 42cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project Timers.cpp \ 43647925ddf053989b641b4c5c8a51efd55c931f22Jeff Brown Tokenizer.cpp \ 44ba0165bef09729a33ab8e0ca329342be05e0d859Kenny Root Unicode.cpp \ 45cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project VectorImpl.cpp \ 4627e6eaae879309d6bbfb708e1e1aa75d7431a3a4Jeff Brown WorkQueue.cpp \ 473abdea92efbe85c66d7f2dc662953d0b5ed59451Colin Cross ZipFileCRO.cpp \ 483abdea92efbe85c66d7f2dc662953d0b5ed59451Colin Cross ZipFileRO.cpp \ 493abdea92efbe85c66d7f2dc662953d0b5ed59451Colin Cross ZipUtils.cpp \ 5014d978d02d93f8976ff8b01c2f827fc7c83f4fbdMathias Agopian misc.cpp 51cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project 52a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsiehhost_commonCflags := -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) 53cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project 54cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectifeq ($(HOST_OS),windows) 55cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectifeq ($(strip $(USE_CYGWIN),),) 56cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# Under MinGW, ctype.h doesn't need multi-byte support 57a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsiehhost_commonCflags += -DMB_CUR_MAX=1 58cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectendif 59cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectendif 60cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project 61a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsiehhost_commonLdlibs := 62a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh 6326ad34522e85b4427ec0ae662dd43eb78a2c5f95Iliyan Malchevifeq ($(TARGET_OS),linux) 64a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsiehhost_commonLdlibs += -lrt -ldl 6526ad34522e85b4427ec0ae662dd43eb78a2c5f95Iliyan Malchevendif 6626ad34522e85b4427ec0ae662dd43eb78a2c5f95Iliyan Malchev 67a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh 68a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh# For the host 69a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh# ===================================================== 70a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsiehinclude $(CLEAR_VARS) 71a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_SRC_FILES:= $(commonSources) 724e371cec7fa13273f81b9266c88ca846ece87096Keun young Parkifeq ($(HOST_OS), linux) 734e371cec7fa13273f81b9266c88ca846ece87096Keun young ParkLOCAL_SRC_FILES += Looper.cpp 744e371cec7fa13273f81b9266c88ca846ece87096Keun young Parkendif 75a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_MODULE:= libutils 76e29b5c384b0dc7658ba320d1fba38a4a772e1bf1Colin CrossLOCAL_STATIC_LIBRARIES := libz 77e29b5c384b0dc7658ba320d1fba38a4a772e1bf1Colin CrossLOCAL_C_INCLUDES := \ 78e29b5c384b0dc7658ba320d1fba38a4a772e1bf1Colin Cross external/zlib 79a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_CFLAGS += $(host_commonCflags) 80a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_LDLIBS += $(host_commonLdlibs) 81a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsiehinclude $(BUILD_HOST_STATIC_LIBRARY) 82a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh 83a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh 84a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh# For the host, 64-bit 85a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsieh# ===================================================== 86a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew Hsiehinclude $(CLEAR_VARS) 87a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_SRC_FILES:= $(commonSources) 884e371cec7fa13273f81b9266c88ca846ece87096Keun young Parkifeq ($(HOST_OS), linux) 894e371cec7fa13273f81b9266c88ca846ece87096Keun young ParkLOCAL_SRC_FILES += Looper.cpp 904e371cec7fa13273f81b9266c88ca846ece87096Keun young Parkendif 91a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_MODULE:= lib64utils 92e29b5c384b0dc7658ba320d1fba38a4a772e1bf1Colin CrossLOCAL_STATIC_LIBRARIES := libz 93e29b5c384b0dc7658ba320d1fba38a4a772e1bf1Colin CrossLOCAL_C_INCLUDES := \ 94e29b5c384b0dc7658ba320d1fba38a4a772e1bf1Colin Cross external/zlib 95a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_CFLAGS += $(host_commonCflags) -m64 96a19d2c7e3bf4aadad064163029bccf3f03c300cbAndrew HsiehLOCAL_LDLIBS += $(host_commonLdlibs) 97cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectinclude $(BUILD_HOST_STATIC_LIBRARY) 98cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project 99cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project 100cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# For the device 101cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# ===================================================== 102cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectinclude $(CLEAR_VARS) 103cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project 104cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project 105cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project# we have the common sources, plus some device-specific stuff 106cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source ProjectLOCAL_SRC_FILES:= \ 107cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project $(commonSources) \ 1082ccfe1a0606f59b5cefd177f9dd5c837d0ea2d0bJamie Gennis Looper.cpp \ 1092ccfe1a0606f59b5cefd177f9dd5c837d0ea2d0bJamie Gennis Trace.cpp 110cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project 111cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectifeq ($(TARGET_OS),linux) 112cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source ProjectLOCAL_LDLIBS += -lrt -ldl 113cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectendif 114cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project 115cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source ProjectLOCAL_C_INCLUDES += \ 1163abdea92efbe85c66d7f2dc662953d0b5ed59451Colin Cross bionic/libc/private \ 1173abdea92efbe85c66d7f2dc662953d0b5ed59451Colin Cross external/zlib 1181555436473afd296488235f0aa22bb17162a929fMathias Agopian 119cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source ProjectLOCAL_LDLIBS += -lpthread 120cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project 121cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source ProjectLOCAL_SHARED_LIBRARIES := \ 122cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project liblog \ 1239c63a80f1f39fb969ec439e6b51614abb883d370Mathias Agopian libcutils \ 124ea45b01f9bc2d1ef1f8d97ca0480336d23e0aa97Jeff Brown libdl \ 1253abdea92efbe85c66d7f2dc662953d0b5ed59451Colin Cross libcorkscrew \ 1263abdea92efbe85c66d7f2dc662953d0b5ed59451Colin Cross libz 127cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project 128cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source ProjectLOCAL_MODULE:= libutils 129cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY) 130cbb1011c95e0c25c29e40e203a6a31bccd029da3The Android Open Source Project 1317aba23129b339f6f6ea4c378aa5f3a78d7f677ddJeff Brown# Include subdirectory makefiles 1327aba23129b339f6f6ea4c378aa5f3a78d7f677ddJeff Brown# ============================================================ 1337aba23129b339f6f6ea4c378aa5f3a78d7f677ddJeff Brown 1347aba23129b339f6f6ea4c378aa5f3a78d7f677ddJeff Brown# If we're building with ONE_SHOT_MAKEFILE (mm, mmm), then what the framework 1357aba23129b339f6f6ea4c378aa5f3a78d7f677ddJeff Brown# team really wants is to build the stuff defined by this makefile. 1367aba23129b339f6f6ea4c378aa5f3a78d7f677ddJeff Brownifeq (,$(ONE_SHOT_MAKEFILE)) 1377aba23129b339f6f6ea4c378aa5f3a78d7f677ddJeff Browninclude $(call first-makefiles-under,$(LOCAL_PATH)) 138c28f214f6c65c56936b11fff68564d9631cfae70Christopher Tateendif 139