1dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#
2dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# Copyright (C) 2008 The Android Open Source Project
3dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#
4dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# Licensed under the Apache License, Version 2.0 (the "License");
5dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# you may not use this file except in compliance with the License.
6dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# You may obtain a copy of the License at
7dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#
8dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#      http://www.apache.org/licenses/LICENSE-2.0
9dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#
10dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# Unless required by applicable law or agreed to in writing, software
11dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# distributed under the License is distributed on an "AS IS" BASIS,
12dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# See the License for the specific language governing permissions and
14dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# limitations under the License.
15dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#
16dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_PATH := $(my-dir)
17dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(CLEAR_VARS)
18dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
19ac322da69ee48aa792baf5c48cfb719ce077f67eAndy McFaddenifeq ($(TARGET_CPU_SMP),true)
20ac322da69ee48aa792baf5c48cfb719ce077f67eAndy McFadden    targetSmpFlag := -DANDROID_SMP=1
21ac322da69ee48aa792baf5c48cfb719ce077f67eAndy McFaddenelse
22ac322da69ee48aa792baf5c48cfb719ce077f67eAndy McFadden    targetSmpFlag := -DANDROID_SMP=0
23ac322da69ee48aa792baf5c48cfb719ce077f67eAndy McFaddenendif
24ac322da69ee48aa792baf5c48cfb719ce077f67eAndy McFaddenhostSmpFlag := -DANDROID_SMP=0
25ac322da69ee48aa792baf5c48cfb719ce077f67eAndy McFadden
26dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectcommonSources := \
27dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	array.c \
28dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	hashmap.c \
2993b0cb40c18cae594c931677be2b9214420610b7Carl Shapiro	atomic.c.arm \
301d3faaf72f28c9d71dde067b74b1351cdbc9a758Mathias Agopian	native_handle.c \
31dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	buffer.c \
32dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	socket_inaddr_any_server.c \
33dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	socket_local_client.c \
34dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	socket_local_server.c \
35dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	socket_loopback_client.c \
36dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	socket_loopback_server.c \
37dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	socket_network_client.c \
382b8f76cdbb254ac1170087a40dbf30b7627f3516jeffhao	sockets.c \
39dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	config_utils.c \
40dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	cpu_info.c \
41dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	load_file.c \
42da04c52ab1036048520fca265cf02b61dca789e0Dima Zavin	list.c \
43cf63d5d00f5a631a2905da7812b5c029b5211cf6Andy McFadden	open_memstream.c \
44dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	strdup16to8.c \
45dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	strdup8to16.c \
46dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	record_stream.c \
47dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	process_name.c \
48dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	properties.c \
494a6b384f607feed3755cfcbcdfded55fc2ccce82Jeff Brown	qsort_r_compat.c \
50493dad966305a7fb555addd367532dd2af275a27San Mehat	threads.c \
5110d469bff9031e857c7a290dae7d6ccf7b3a18f8San Mehat	sched_policy.c \
520fad7d023f0229f763a58dd479f78397322baa6dDima Zavin	iosched_policy.c \
531ac6ddeba6873e44b49610ca1f272186f5318f8eAshish Sharma	str_parms.c
54dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
55b1487e4c587ce1184e3d0036ac5e6bd90405688dThe Android Open Source ProjectcommonHostSources := \
56b1487e4c587ce1184e3d0036ac5e6bd90405688dThe Android Open Source Project        ashmem-host.c
57b1487e4c587ce1184e3d0036ac5e6bd90405688dThe Android Open Source Project
58dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# some files must not be compiled when building against Mingw
59dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# they correspond to features not used by our host development tools
60dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# which are also hard or even impossible to port to native Win32
61f3cdf37276576295e8998fabc735ab07898389d8RaphaelWINDOWS_HOST_ONLY :=
62dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectifeq ($(HOST_OS),windows)
63dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project    ifeq ($(strip $(USE_CYGWIN)),)
64f3cdf37276576295e8998fabc735ab07898389d8Raphael        WINDOWS_HOST_ONLY := 1
65dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project    endif
66dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectendif
67dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# USE_MINGW is defined when we build against Mingw on Linux
68dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectifneq ($(strip $(USE_MINGW)),)
69f3cdf37276576295e8998fabc735ab07898389d8Raphael    WINDOWS_HOST_ONLY := 1
70dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectendif
71dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
72f3cdf37276576295e8998fabc735ab07898389d8Raphaelifeq ($(WINDOWS_HOST_ONLY),1)
73dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project    commonSources += \
74dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project        uio.c
75dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectelse
76dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project    commonSources += \
77f3cdf37276576295e8998fabc735ab07898389d8Raphael        abort_socket.c \
78dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project        mspace.c \
79dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project        selector.c \
80dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project        tztime.c \
81b1487e4c587ce1184e3d0036ac5e6bd90405688dThe Android Open Source Project        zygote.c
82b1487e4c587ce1184e3d0036ac5e6bd90405688dThe Android Open Source Project
83b1487e4c587ce1184e3d0036ac5e6bd90405688dThe Android Open Source Project    commonHostSources += \
84b1487e4c587ce1184e3d0036ac5e6bd90405688dThe Android Open Source Project        tzstrftime.c
85dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectendif
86dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
87dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
88dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# Static library for host
89dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# ========================================================
90dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_MODULE := libcutils
917ab237f1efe578fc0462154bc239ad3b6cde2bdaJesse WilsonLOCAL_SRC_FILES := $(commonSources) $(commonHostSources) dlmalloc_stubs.c
92dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_LDLIBS := -lpthread
93dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_STATIC_LIBRARIES := liblog
94ac322da69ee48aa792baf5c48cfb719ce077f67eAndy McFaddenLOCAL_CFLAGS += $(hostSmpFlag)
95dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(BUILD_HOST_STATIC_LIBRARY)
96dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
97dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
9899e7f7af84b324034af348cbb7a180848cca2ebbAndrew Hsieh# Static library for host, 64-bit
9999e7f7af84b324034af348cbb7a180848cca2ebbAndrew Hsieh# ========================================================
10099e7f7af84b324034af348cbb7a180848cca2ebbAndrew Hsiehinclude $(CLEAR_VARS)
10199e7f7af84b324034af348cbb7a180848cca2ebbAndrew HsiehLOCAL_MODULE := lib64cutils
10299e7f7af84b324034af348cbb7a180848cca2ebbAndrew HsiehLOCAL_SRC_FILES := $(commonSources) $(commonHostSources) dlmalloc_stubs.c
10399e7f7af84b324034af348cbb7a180848cca2ebbAndrew HsiehLOCAL_LDLIBS := -lpthread
10499e7f7af84b324034af348cbb7a180848cca2ebbAndrew HsiehLOCAL_STATIC_LIBRARIES := lib64log
10599e7f7af84b324034af348cbb7a180848cca2ebbAndrew HsiehLOCAL_CFLAGS += $(hostSmpFlag) -m64
10699e7f7af84b324034af348cbb7a180848cca2ebbAndrew Hsiehinclude $(BUILD_HOST_STATIC_LIBRARY)
10799e7f7af84b324034af348cbb7a180848cca2ebbAndrew Hsieh
10899e7f7af84b324034af348cbb7a180848cca2ebbAndrew Hsieh
109dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# Shared and static library for target
110dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# ========================================================
1117913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' Turner
1127913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' Turner# This is needed in LOCAL_C_INCLUDES to access the C library's private
1137913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' Turner# header named <bionic_time.h>
1147913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' Turner#
1157913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' Turnerlibcutils_c_includes := bionic/libc/private
1167913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' Turner
117dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(CLEAR_VARS)
118dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_MODULE := libcutils
119053b865412d1982ad1dc0e840898d82527deeb99Jeff BrownLOCAL_SRC_FILES := $(commonSources) \
120053b865412d1982ad1dc0e840898d82527deeb99Jeff Brown        android_reboot.c \
121053b865412d1982ad1dc0e840898d82527deeb99Jeff Brown        ashmem-dev.c \
122053b865412d1982ad1dc0e840898d82527deeb99Jeff Brown        debugger.c \
123053b865412d1982ad1dc0e840898d82527deeb99Jeff Brown        klog.c \
124053b865412d1982ad1dc0e840898d82527deeb99Jeff Brown        mq.c \
125053b865412d1982ad1dc0e840898d82527deeb99Jeff Brown        partition_utils.c \
126053b865412d1982ad1dc0e840898d82527deeb99Jeff Brown        qtaguid.c \
127053b865412d1982ad1dc0e840898d82527deeb99Jeff Brown        uevent.c
128dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
129dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectifeq ($(TARGET_ARCH),arm)
130bb12ac9b85adae96cbd38b2220c5da9a9d80bc54Lu, HongjiuLOCAL_SRC_FILES += arch-arm/memset32.S
131dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectelse  # !arm
132c6af9114fc63accef839c2a413e18ab058f0beffShin-ichiro KAWASAKIifeq ($(TARGET_ARCH),sh)
133c6af9114fc63accef839c2a413e18ab058f0beffShin-ichiro KAWASAKILOCAL_SRC_FILES += memory.c atomic-android-sh.c
134c6af9114fc63accef839c2a413e18ab058f0beffShin-ichiro KAWASAKIelse  # !sh
135bb12ac9b85adae96cbd38b2220c5da9a9d80bc54Lu, Hongjiuifeq ($(TARGET_ARCH_VARIANT),x86-atom)
136bb12ac9b85adae96cbd38b2220c5da9a9d80bc54Lu, HongjiuLOCAL_CFLAGS += -DHAVE_MEMSET16 -DHAVE_MEMSET32
137bb12ac9b85adae96cbd38b2220c5da9a9d80bc54Lu, HongjiuLOCAL_SRC_FILES += arch-x86/android_memset16.S arch-x86/android_memset32.S memory.c
138bb12ac9b85adae96cbd38b2220c5da9a9d80bc54Lu, Hongjiuelse # !x86-atom
139dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_SRC_FILES += memory.c
140bb12ac9b85adae96cbd38b2220c5da9a9d80bc54Lu, Hongjiuendif # !x86-atom
141c6af9114fc63accef839c2a413e18ab058f0beffShin-ichiro KAWASAKIendif # !sh
142dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectendif # !arm
143dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
1447913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' TurnerLOCAL_C_INCLUDES := $(libcutils_c_includes) $(KERNEL_HEADERS)
145dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_STATIC_LIBRARIES := liblog
146ac322da69ee48aa792baf5c48cfb719ce077f67eAndy McFaddenLOCAL_CFLAGS += $(targetSmpFlag)
147dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(BUILD_STATIC_LIBRARY)
148dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
149dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(CLEAR_VARS)
150dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_MODULE := libcutils
151dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_WHOLE_STATIC_LIBRARIES := libcutils
152dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_SHARED_LIBRARIES := liblog
153ac322da69ee48aa792baf5c48cfb719ce077f67eAndy McFaddenLOCAL_CFLAGS += $(targetSmpFlag)
1547913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' TurnerLOCAL_C_INCLUDES := $(libcutils_c_includes)
155dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY)
156dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
1570fad7d023f0229f763a58dd479f78397322baa6dDima Zavininclude $(CLEAR_VARS)
1580fad7d023f0229f763a58dd479f78397322baa6dDima ZavinLOCAL_MODULE := tst_str_parms
1590fad7d023f0229f763a58dd479f78397322baa6dDima ZavinLOCAL_CFLAGS += -DTEST_STR_PARMS
1600fad7d023f0229f763a58dd479f78397322baa6dDima ZavinLOCAL_SRC_FILES := str_parms.c hashmap.c memory.c
16114fc0c27659d72601888ee9d95cf50a0465b12e3Dima ZavinLOCAL_SHARED_LIBRARIES := liblog
1620fad7d023f0229f763a58dd479f78397322baa6dDima ZavinLOCAL_MODULE_TAGS := optional
16314fc0c27659d72601888ee9d95cf50a0465b12e3Dima Zavininclude $(BUILD_EXECUTABLE)
164