1 # Copyright (C) 2008 The Android Open Source Project 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 15 LOCAL_PATH:= $(call my-dir) 16 17 # libutils is a little unique: It's built twice, once for the host 18 # and once for the device. 19 20 commonSources:= \ 21 Asset.cpp \ 22 AssetDir.cpp \ 23 AssetManager.cpp \ 24 BufferedTextOutput.cpp \ 25 CallStack.cpp \ 26 Debug.cpp \ 27 FileMap.cpp \ 28 Flattenable.cpp \ 29 ObbFile.cpp \ 30 Pool.cpp \ 31 RefBase.cpp \ 32 ResourceTypes.cpp \ 33 SharedBuffer.cpp \ 34 Static.cpp \ 35 StopWatch.cpp \ 36 StreamingZipInflater.cpp \ 37 String8.cpp \ 38 String16.cpp \ 39 StringArray.cpp \ 40 SystemClock.cpp \ 41 TextOutput.cpp \ 42 Threads.cpp \ 43 Timers.cpp \ 44 VectorImpl.cpp \ 45 ZipFileCRO.cpp \ 46 ZipFileRO.cpp \ 47 ZipUtils.cpp \ 48 misc.cpp 49 50 51 # For the host 52 # ===================================================== 53 54 include $(CLEAR_VARS) 55 56 LOCAL_SRC_FILES:= $(commonSources) 57 58 LOCAL_MODULE:= libutils 59 60 LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) 61 LOCAL_C_INCLUDES += external/zlib 62 63 ifeq ($(HOST_OS),windows) 64 ifeq ($(strip $(USE_CYGWIN),),) 65 # Under MinGW, ctype.h doesn't need multi-byte support 66 LOCAL_CFLAGS += -DMB_CUR_MAX=1 67 endif 68 endif 69 70 ifeq ($(HOST_OS),darwin) 71 # MacOS doesn't have lseek64. However, off_t is 64-bit anyway. 72 LOCAL_CFLAGS += -DOFF_T_IS_64_BIT 73 endif 74 75 include $(BUILD_HOST_STATIC_LIBRARY) 76 77 78 79 # For the device 80 # ===================================================== 81 include $(CLEAR_VARS) 82 83 84 # we have the common sources, plus some device-specific stuff 85 LOCAL_SRC_FILES:= \ 86 $(commonSources) \ 87 BackupData.cpp \ 88 BackupHelpers.cpp \ 89 Looper.cpp 90 91 ifeq ($(TARGET_OS),linux) 92 LOCAL_LDLIBS += -lrt -ldl 93 endif 94 95 LOCAL_C_INCLUDES += \ 96 external/zlib \ 97 external/icu4c/common 98 99 LOCAL_LDLIBS += -lpthread 100 101 LOCAL_SHARED_LIBRARIES := \ 102 libz \ 103 liblog \ 104 libcutils 105 106 ifneq ($(TARGET_SIMULATOR),true) 107 ifeq ($(TARGET_OS)-$(TARGET_ARCH),linux-x86) 108 # This is needed on x86 to bring in dl_iterate_phdr for CallStack.cpp 109 LOCAL_SHARED_LIBRARIES += libdl 110 endif # linux-x86 111 endif # sim 112 113 LOCAL_MODULE:= libutils 114 include $(BUILD_SHARED_LIBRARY) 115 116 ifneq ($(TARGET_SIMULATOR),true) 117 ifeq ($(TARGET_OS),linux) 118 include $(CLEAR_VARS) 119 LOCAL_C_INCLUDES += external/zlib external/icu4c/common 120 LOCAL_LDLIBS := -lrt -ldl -lpthread 121 LOCAL_MODULE := libutils 122 LOCAL_SRC_FILES := $(commonSources) BackupData.cpp BackupHelpers.cpp 123 include $(BUILD_STATIC_LIBRARY) 124 endif 125 endif 126 127 128 # Include subdirectory makefiles 129 # ============================================================ 130 131 # If we're building with ONE_SHOT_MAKEFILE (mm, mmm), then what the framework 132 # team really wants is to build the stuff defined by this makefile. 133 ifeq (,$(ONE_SHOT_MAKEFILE)) 134 include $(call first-makefiles-under,$(LOCAL_PATH)) 135 endif 136