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	hashmap.c \
2893b0cb40c18cae594c931677be2b9214420610b7Carl Shapiro	atomic.c.arm \
291d3faaf72f28c9d71dde067b74b1351cdbc9a758Mathias Agopian	native_handle.c \
30dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	socket_inaddr_any_server.c \
31dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	socket_local_client.c \
32dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	socket_local_server.c \
33dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	socket_loopback_client.c \
34dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	socket_loopback_server.c \
35dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	socket_network_client.c \
362b8f76cdbb254ac1170087a40dbf30b7627f3516jeffhao	sockets.c \
37dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	config_utils.c \
38dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	cpu_info.c \
39dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	load_file.c \
40da04c52ab1036048520fca265cf02b61dca789e0Dima Zavin	list.c \
41cf63d5d00f5a631a2905da7812b5c029b5211cf6Andy McFadden	open_memstream.c \
42dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	strdup16to8.c \
43dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	strdup8to16.c \
44abb7d58010da1fcd466e6e032c5f7bf8810ed4ddDima Zavin	record_stream.c \
45dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project	process_name.c \
46493dad966305a7fb555addd367532dd2af275a27San Mehat	threads.c \
4710d469bff9031e857c7a290dae7d6ccf7b3a18f8San Mehat	sched_policy.c \
480fad7d023f0229f763a58dd479f78397322baa6dDima Zavin	iosched_policy.c \
49885342a0f2c834a6b680284047c47c9d04b32565Jeff Sharkey	str_parms.c \
50dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
51b1487e4c587ce1184e3d0036ac5e6bd90405688dThe Android Open Source ProjectcommonHostSources := \
52b1487e4c587ce1184e3d0036ac5e6bd90405688dThe Android Open Source Project        ashmem-host.c
53b1487e4c587ce1184e3d0036ac5e6bd90405688dThe Android Open Source Project
54dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# some files must not be compiled when building against Mingw
55dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# they correspond to features not used by our host development tools
56dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# which are also hard or even impossible to port to native Win32
57f3cdf37276576295e8998fabc735ab07898389d8RaphaelWINDOWS_HOST_ONLY :=
58dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectifeq ($(HOST_OS),windows)
59dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project    ifeq ($(strip $(USE_CYGWIN)),)
60f3cdf37276576295e8998fabc735ab07898389d8Raphael        WINDOWS_HOST_ONLY := 1
61dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project    endif
62dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectendif
63dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# USE_MINGW is defined when we build against Mingw on Linux
64dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectifneq ($(strip $(USE_MINGW)),)
65f3cdf37276576295e8998fabc735ab07898389d8Raphael    WINDOWS_HOST_ONLY := 1
66dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectendif
67dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
680ee7d8c68b57c02d02f707d6f71c731234d56eecJeff Sharkeyifneq ($(WINDOWS_HOST_ONLY),1)
690ee7d8c68b57c02d02f707d6f71c731234d56eecJeff Sharkey    commonSources += \
700ee7d8c68b57c02d02f707d6f71c731234d56eecJeff Sharkey        fs.c \
710ee7d8c68b57c02d02f707d6f71c731234d56eecJeff Sharkey        multiuser.c
720ee7d8c68b57c02d02f707d6f71c731234d56eecJeff Sharkeyendif
730ee7d8c68b57c02d02f707d6f71c731234d56eecJeff Sharkey
74dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
75dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# Static library for host
76dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# ========================================================
77dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_MODULE := libcutils
787ab237f1efe578fc0462154bc239ad3b6cde2bdaJesse WilsonLOCAL_SRC_FILES := $(commonSources) $(commonHostSources) dlmalloc_stubs.c
79dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_LDLIBS := -lpthread
80dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_STATIC_LIBRARIES := liblog
81ac322da69ee48aa792baf5c48cfb719ce077f67eAndy McFaddenLOCAL_CFLAGS += $(hostSmpFlag)
82dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(BUILD_HOST_STATIC_LIBRARY)
83dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
84dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
8599e7f7af84b324034af348cbb7a180848cca2ebbAndrew Hsieh# Static library for host, 64-bit
8699e7f7af84b324034af348cbb7a180848cca2ebbAndrew Hsieh# ========================================================
8799e7f7af84b324034af348cbb7a180848cca2ebbAndrew Hsiehinclude $(CLEAR_VARS)
8899e7f7af84b324034af348cbb7a180848cca2ebbAndrew HsiehLOCAL_MODULE := lib64cutils
8999e7f7af84b324034af348cbb7a180848cca2ebbAndrew HsiehLOCAL_SRC_FILES := $(commonSources) $(commonHostSources) dlmalloc_stubs.c
9099e7f7af84b324034af348cbb7a180848cca2ebbAndrew HsiehLOCAL_LDLIBS := -lpthread
9199e7f7af84b324034af348cbb7a180848cca2ebbAndrew HsiehLOCAL_STATIC_LIBRARIES := lib64log
9299e7f7af84b324034af348cbb7a180848cca2ebbAndrew HsiehLOCAL_CFLAGS += $(hostSmpFlag) -m64
9399e7f7af84b324034af348cbb7a180848cca2ebbAndrew Hsiehinclude $(BUILD_HOST_STATIC_LIBRARY)
9499e7f7af84b324034af348cbb7a180848cca2ebbAndrew Hsieh
9599e7f7af84b324034af348cbb7a180848cca2ebbAndrew Hsieh
96dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# Shared and static library for target
97dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project# ========================================================
987913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' Turner
997913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' Turner# This is needed in LOCAL_C_INCLUDES to access the C library's private
1007913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' Turner# header named <bionic_time.h>
1017913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' Turner#
1027913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' Turnerlibcutils_c_includes := bionic/libc/private
1037913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' Turner
104dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(CLEAR_VARS)
105dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_MODULE := libcutils
106053b865412d1982ad1dc0e840898d82527deeb99Jeff BrownLOCAL_SRC_FILES := $(commonSources) \
107053b865412d1982ad1dc0e840898d82527deeb99Jeff Brown        android_reboot.c \
108053b865412d1982ad1dc0e840898d82527deeb99Jeff Brown        ashmem-dev.c \
109053b865412d1982ad1dc0e840898d82527deeb99Jeff Brown        debugger.c \
110053b865412d1982ad1dc0e840898d82527deeb99Jeff Brown        klog.c \
111053b865412d1982ad1dc0e840898d82527deeb99Jeff Brown        partition_utils.c \
112b39e3a8a4fa9b4121a9ceb45cacce843b32b1a65Nick Kralevich        properties.c \
113053b865412d1982ad1dc0e840898d82527deeb99Jeff Brown        qtaguid.c \
1140a34643160890eb50f7d8e016b4ec93d9db2aa27Alex Ray        trace.c \
115885342a0f2c834a6b680284047c47c9d04b32565Jeff Sharkey        uevent.c
116dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
117dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectifeq ($(TARGET_ARCH),arm)
118bb12ac9b85adae96cbd38b2220c5da9a9d80bc54Lu, HongjiuLOCAL_SRC_FILES += arch-arm/memset32.S
119dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectelse  # !arm
120bb12ac9b85adae96cbd38b2220c5da9a9d80bc54Lu, Hongjiuifeq ($(TARGET_ARCH_VARIANT),x86-atom)
121bb12ac9b85adae96cbd38b2220c5da9a9d80bc54Lu, HongjiuLOCAL_CFLAGS += -DHAVE_MEMSET16 -DHAVE_MEMSET32
122bb12ac9b85adae96cbd38b2220c5da9a9d80bc54Lu, HongjiuLOCAL_SRC_FILES += arch-x86/android_memset16.S arch-x86/android_memset32.S memory.c
123bb12ac9b85adae96cbd38b2220c5da9a9d80bc54Lu, Hongjiuelse # !x86-atom
1241ca120588a58236da93fb441d98e36dc913fe561Duane Sandifeq ($(TARGET_ARCH),mips)
1251ca120588a58236da93fb441d98e36dc913fe561Duane SandLOCAL_SRC_FILES += arch-mips/android_memset.c
1261ca120588a58236da93fb441d98e36dc913fe561Duane Sandelse # !mips
127dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_SRC_FILES += memory.c
1281ca120588a58236da93fb441d98e36dc913fe561Duane Sandendif # !mips
129bb12ac9b85adae96cbd38b2220c5da9a9d80bc54Lu, Hongjiuendif # !x86-atom
130dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectendif # !arm
131dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
1327913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' TurnerLOCAL_C_INCLUDES := $(libcutils_c_includes) $(KERNEL_HEADERS)
133dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_STATIC_LIBRARIES := liblog
134ac322da69ee48aa792baf5c48cfb719ce077f67eAndy McFaddenLOCAL_CFLAGS += $(targetSmpFlag)
135dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(BUILD_STATIC_LIBRARY)
136dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
137dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(CLEAR_VARS)
138dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_MODULE := libcutils
139c796ed97466510dd5239008554decbe72825e19cYing Wang# TODO: remove liblog as whole static library, once we don't have prebuilt that requires
140c796ed97466510dd5239008554decbe72825e19cYing Wang# liblog symbols present in libcutils.
141c796ed97466510dd5239008554decbe72825e19cYing WangLOCAL_WHOLE_STATIC_LIBRARIES := libcutils liblog
142dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source ProjectLOCAL_SHARED_LIBRARIES := liblog
143ac322da69ee48aa792baf5c48cfb719ce077f67eAndy McFaddenLOCAL_CFLAGS += $(targetSmpFlag)
1447913bc05bec230799aa70188b40ec7b231f5400fDavid 'Digit' TurnerLOCAL_C_INCLUDES := $(libcutils_c_includes)
145dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY)
146dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
1470fad7d023f0229f763a58dd479f78397322baa6dDima Zavininclude $(CLEAR_VARS)
1480fad7d023f0229f763a58dd479f78397322baa6dDima ZavinLOCAL_MODULE := tst_str_parms
1490fad7d023f0229f763a58dd479f78397322baa6dDima ZavinLOCAL_CFLAGS += -DTEST_STR_PARMS
1500fad7d023f0229f763a58dd479f78397322baa6dDima ZavinLOCAL_SRC_FILES := str_parms.c hashmap.c memory.c
15114fc0c27659d72601888ee9d95cf50a0465b12e3Dima ZavinLOCAL_SHARED_LIBRARIES := liblog
1520fad7d023f0229f763a58dd479f78397322baa6dDima ZavinLOCAL_MODULE_TAGS := optional
15314fc0c27659d72601888ee9d95cf50a0465b12e3Dima Zavininclude $(BUILD_EXECUTABLE)
154d4a80984fcf1066e244a8909354df03ba1e3f786Duane Sand
155d4a80984fcf1066e244a8909354df03ba1e3f786Duane Sandinclude $(call all-makefiles-under,$(LOCAL_PATH))
156