1# 2# Copyright (C) 2008 The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16LOCAL_PATH := $(my-dir) 17include $(CLEAR_VARS) 18 19commonSources := \ 20 array.c \ 21 hashmap.c \ 22 atomic.c \ 23 native_handle.c \ 24 buffer.c \ 25 socket_inaddr_any_server.c \ 26 socket_local_client.c \ 27 socket_local_server.c \ 28 socket_loopback_client.c \ 29 socket_loopback_server.c \ 30 socket_network_client.c \ 31 config_utils.c \ 32 cpu_info.c \ 33 load_file.c \ 34 strdup16to8.c \ 35 strdup8to16.c \ 36 record_stream.c \ 37 process_name.c \ 38 properties.c \ 39 threads.c \ 40 sched_policy.c 41 42commonHostSources := \ 43 ashmem-host.c 44 45# some files must not be compiled when building against Mingw 46# they correspond to features not used by our host development tools 47# which are also hard or even impossible to port to native Win32 48WINDOWS_HOST_ONLY := 49ifeq ($(HOST_OS),windows) 50 ifeq ($(strip $(USE_CYGWIN)),) 51 WINDOWS_HOST_ONLY := 1 52 endif 53endif 54# USE_MINGW is defined when we build against Mingw on Linux 55ifneq ($(strip $(USE_MINGW)),) 56 WINDOWS_HOST_ONLY := 1 57endif 58 59ifeq ($(WINDOWS_HOST_ONLY),1) 60 commonSources += \ 61 uio.c 62else 63 commonSources += \ 64 abort_socket.c \ 65 mspace.c \ 66 selector.c \ 67 tztime.c \ 68 adb_networking.c \ 69 zygote.c 70 71 commonHostSources += \ 72 tzstrftime.c 73endif 74 75 76# Static library for host 77# ======================================================== 78LOCAL_MODULE := libcutils 79LOCAL_SRC_FILES := $(commonSources) $(commonHostSources) 80LOCAL_LDLIBS := -lpthread 81LOCAL_STATIC_LIBRARIES := liblog 82include $(BUILD_HOST_STATIC_LIBRARY) 83 84 85ifeq ($(TARGET_SIMULATOR),true) 86 87# Shared library for simulator 88# ======================================================== 89include $(CLEAR_VARS) 90LOCAL_MODULE := libcutils 91LOCAL_SRC_FILES := $(commonSources) $(commonHostSources) memory.c dlmalloc_stubs.c 92LOCAL_LDLIBS := -lpthread 93LOCAL_SHARED_LIBRARIES := liblog 94include $(BUILD_SHARED_LIBRARY) 95 96else #!sim 97 98# Shared and static library for target 99# ======================================================== 100include $(CLEAR_VARS) 101LOCAL_MODULE := libcutils 102LOCAL_SRC_FILES := $(commonSources) ashmem-dev.c mq.c 103 104ifeq ($(TARGET_ARCH),arm) 105LOCAL_SRC_FILES += memset32.S atomic-android-arm.S 106else # !arm 107LOCAL_SRC_FILES += memory.c 108endif # !arm 109 110LOCAL_C_INCLUDES := $(KERNEL_HEADERS) 111LOCAL_STATIC_LIBRARIES := liblog 112include $(BUILD_STATIC_LIBRARY) 113 114include $(CLEAR_VARS) 115LOCAL_MODULE := libcutils 116LOCAL_WHOLE_STATIC_LIBRARIES := libcutils 117LOCAL_SHARED_LIBRARIES := liblog 118include $(BUILD_SHARED_LIBRARY) 119 120endif #!sim 121