Home | History | Annotate | Download | only in utils
      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