Android.mk revision b029e924285dfe5bd36d93d837eb00db1c7661fc
127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#
227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi# Copyright (C) 2008 The Android Open Source Project
327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#
427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi# Licensed under the Apache License, Version 2.0 (the "License");
527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi# you may not use this file except in compliance with the License.
627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi# You may obtain a copy of the License at
727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#
827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#      http://www.apache.org/licenses/LICENSE-2.0
927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#
1027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi# Unless required by applicable law or agreed to in writing, software
1127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi# distributed under the License is distributed on an "AS IS" BASIS,
1227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi# See the License for the specific language governing permissions and
1427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi# limitations under the License.
1527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#
1627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiLOCAL_PATH := $(my-dir)
1727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiinclude $(CLEAR_VARS)
1827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi
1927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshicommonSources := \
2027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi	array.c \
2127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi	hashmap.c \
2227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi	atomic.c \
2327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi	native_handle.c \
2427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi	buffer.c \
25e943f84129326ab885cc7a69dcfa17f766b72b89Takeshi Aimi	socket_inaddr_any_server.c \
26e943f84129326ab885cc7a69dcfa17f766b72b89Takeshi Aimi	socket_local_client.c \
278f00151cbe693d52f3e233757c57fab3b6396d21Gloria Wang	socket_local_server.c \
28e943f84129326ab885cc7a69dcfa17f766b72b89Takeshi Aimi	socket_loopback_client.c \
2927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi	socket_loopback_server.c \
3027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi	socket_network_client.c \
3127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi	config_utils.c \
3227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi	cpu_info.c \
33e943f84129326ab885cc7a69dcfa17f766b72b89Takeshi Aimi	load_file.c \
34c618b5af98dec06d49374a61a5a94016f9fec2d3Takeshi Aimi	strdup16to8.c \
3527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi	strdup8to16.c \
3627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi	record_stream.c \
3727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi	process_name.c \
3827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi	properties.c \
3927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi	threads.c \
4027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi	sched_policy.c
4127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi
4227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshicommonHostSources := \
4327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi        ashmem-host.c
4427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi
4527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi# some files must not be compiled when building against Mingw
463473846f64f5b28e1cbeb70ef5867073fc93159eTakeshi Aimi# they correspond to features not used by our host development tools
473473846f64f5b28e1cbeb70ef5867073fc93159eTakeshi Aimi# which are also hard or even impossible to port to native Win32
483473846f64f5b28e1cbeb70ef5867073fc93159eTakeshi AimiWINDOWS_HOST_ONLY :=
493473846f64f5b28e1cbeb70ef5867073fc93159eTakeshi Aimiifeq ($(HOST_OS),windows)
5027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi    ifeq ($(strip $(USE_CYGWIN)),)
5127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi        WINDOWS_HOST_ONLY := 1
5227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi    endif
5327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiendif
5427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi# USE_MINGW is defined when we build against Mingw on Linux
5527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiifneq ($(strip $(USE_MINGW)),)
5627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi    WINDOWS_HOST_ONLY := 1
5727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiendif
5827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi
5927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiifeq ($(WINDOWS_HOST_ONLY),1)
6027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi    commonSources += \
6127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi        uio.c
622272ee27d9022d173b6eab45c409b3c3f57f30ecTakeshi Aimielse
6327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi    commonSources += \
6427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi        abort_socket.c \
6527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi        mspace.c \
6627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi        selector.c \
6727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi        tztime.c \
6827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi        adb_networking.c \
6927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi        zygote.c
7027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi
7127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi    commonHostSources += \
7227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi        tzstrftime.c
7327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiendif
7427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi
7527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi
7627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi# Static library for host
7727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi# ========================================================
7827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiLOCAL_MODULE := libcutils
79b5ce361d19e69fe156f7188c9ee0f4734b259874Gloria WangLOCAL_SRC_FILES := $(commonSources) $(commonHostSources)
80b5ce361d19e69fe156f7188c9ee0f4734b259874Gloria WangLOCAL_LDLIBS := -lpthread
812272ee27d9022d173b6eab45c409b3c3f57f30ecTakeshi AimiLOCAL_STATIC_LIBRARIES := liblog
8227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiinclude $(BUILD_HOST_STATIC_LIBRARY)
8327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi
842272ee27d9022d173b6eab45c409b3c3f57f30ecTakeshi Aimi
85b5ce361d19e69fe156f7188c9ee0f4734b259874Gloria Wangifeq ($(TARGET_SIMULATOR),true)
862272ee27d9022d173b6eab45c409b3c3f57f30ecTakeshi Aimi
872272ee27d9022d173b6eab45c409b3c3f57f30ecTakeshi Aimi# Shared library for simulator
8827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi# ========================================================
8927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiinclude $(CLEAR_VARS)
9027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiLOCAL_MODULE := libcutils
9127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiLOCAL_SRC_FILES := $(commonSources) $(commonHostSources) memory.c dlmalloc_stubs.c
9227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiLOCAL_LDLIBS := -lpthread
9327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiLOCAL_SHARED_LIBRARIES := liblog
9427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiinclude $(BUILD_SHARED_LIBRARY)
952272ee27d9022d173b6eab45c409b3c3f57f30ecTakeshi Aimi
962272ee27d9022d173b6eab45c409b3c3f57f30ecTakeshi Aimielse #!sim
9727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi
9827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi# Shared and static library for target
992272ee27d9022d173b6eab45c409b3c3f57f30ecTakeshi Aimi# ========================================================
1002272ee27d9022d173b6eab45c409b3c3f57f30ecTakeshi Aimiinclude $(CLEAR_VARS)
10127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiLOCAL_MODULE := libcutils
10227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiLOCAL_SRC_FILES := $(commonSources) ashmem-dev.c mq.c
10327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi
10427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiifeq ($(TARGET_ARCH),arm)
10527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiLOCAL_SRC_FILES += memset32.S atomic-android-arm.S
10627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshielse  # !arm
10727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiifeq ($(TARGET_ARCH),sh)
10827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiLOCAL_SRC_FILES += memory.c atomic-android-sh.c
10927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshielse  # !sh
11027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiLOCAL_SRC_FILES += memory.c
11127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiendif # !sh
11227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiendif # !arm
11327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi
11427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiLOCAL_C_INCLUDES := $(KERNEL_HEADERS)
11527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiLOCAL_STATIC_LIBRARIES := liblog
11627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiinclude $(BUILD_STATIC_LIBRARY)
11727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi
11827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiinclude $(CLEAR_VARS)
1199d2f386dd2885eaffa11fd494ae258bb09fe6397James DongLOCAL_MODULE := libcutils
1209d2f386dd2885eaffa11fd494ae258bb09fe6397James DongLOCAL_WHOLE_STATIC_LIBRARIES := libcutils
1219d2f386dd2885eaffa11fd494ae258bb09fe6397James DongLOCAL_SHARED_LIBRARIES := liblog
1229d2f386dd2885eaffa11fd494ae258bb09fe6397James Donginclude $(BUILD_SHARED_LIBRARY)
1239d2f386dd2885eaffa11fd494ae258bb09fe6397James Dong
12427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiendif #!sim
12527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi