# # Copyright (C) 2008 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # LOCAL_PATH := $(my-dir) include $(CLEAR_VARS) ifeq ($(TARGET_CPU_SMP),true) targetSmpFlag := -DANDROID_SMP=1 else targetSmpFlag := -DANDROID_SMP=0 endif hostSmpFlag := -DANDROID_SMP=0 commonSources := \ hashmap.c \ atomic.c.arm \ native_handle.c \ config_utils.c \ cpu_info.c \ load_file.c \ open_memstream.c \ strdup16to8.c \ strdup8to16.c \ record_stream.c \ process_name.c \ threads.c \ sched_policy.c \ iosched_policy.c \ str_parms.c \ # some files must not be compiled when building against Mingw # they correspond to features not used by our host development tools # which are also hard or even impossible to port to native Win32 WINDOWS_HOST_ONLY := ifeq ($(HOST_OS),windows) ifeq ($(strip $(USE_CYGWIN)),) WINDOWS_HOST_ONLY := 1 endif endif # USE_MINGW is defined when we build against Mingw on Linux ifneq ($(strip $(USE_MINGW)),) WINDOWS_HOST_ONLY := 1 endif ifneq ($(WINDOWS_HOST_ONLY),1) commonSources += \ fs.c \ multiuser.c \ socket_inaddr_any_server.c \ socket_local_client.c \ socket_local_server.c \ socket_loopback_client.c \ socket_loopback_server.c \ socket_network_client.c \ sockets.c \ commonHostSources += \ ashmem-host.c endif # Static library for host # ======================================================== LOCAL_MODULE := libcutils LOCAL_SRC_FILES := $(commonSources) $(commonHostSources) dlmalloc_stubs.c LOCAL_STATIC_LIBRARIES := liblog LOCAL_CFLAGS += $(hostSmpFlag) ifneq ($(HOST_OS),windows) LOCAL_CFLAGS += -Werror endif LOCAL_MULTILIB := both LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk include $(BUILD_HOST_STATIC_LIBRARY) # Tests for host # ======================================================== include $(CLEAR_VARS) LOCAL_MODULE := tst_str_parms LOCAL_CFLAGS += -DTEST_STR_PARMS ifneq ($(HOST_OS),windows) LOCAL_CFLAGS += -Werror endif LOCAL_SRC_FILES := str_parms.c hashmap.c memory.c LOCAL_STATIC_LIBRARIES := liblog LOCAL_MODULE_TAGS := optional LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk include $(BUILD_HOST_EXECUTABLE) # Shared and static library for target # ======================================================== include $(CLEAR_VARS) LOCAL_MODULE := libcutils LOCAL_SRC_FILES := $(commonSources) \ android_reboot.c \ ashmem-dev.c \ debugger.c \ klog.c \ memory.c \ partition_utils.c \ properties.c \ qtaguid.c \ trace.c \ uevent.c \ LOCAL_SRC_FILES_arm += \ arch-arm/memset32.S \ LOCAL_SRC_FILES_arm64 += \ arch-arm64/android_memset.S \ LOCAL_SRC_FILES_mips += \ arch-mips/android_memset.c \ LOCAL_SRC_FILES_x86 += \ arch-x86/android_memset16.S \ arch-x86/android_memset32.S \ LOCAL_SRC_FILES_x86_64 += \ arch-x86_64/android_memset16_SSE2-atom.S \ arch-x86_64/android_memset32_SSE2-atom.S \ LOCAL_CFLAGS_arm += -DHAVE_MEMSET16 -DHAVE_MEMSET32 LOCAL_CFLAGS_arm64 += -DHAVE_MEMSET16 -DHAVE_MEMSET32 LOCAL_CFLAGS_mips += -DHAVE_MEMSET16 -DHAVE_MEMSET32 LOCAL_CFLAGS_x86 += -DHAVE_MEMSET16 -DHAVE_MEMSET32 LOCAL_CFLAGS_x86_64 += -DHAVE_MEMSET16 -DHAVE_MEMSET32 LOCAL_C_INCLUDES := $(libcutils_c_includes) LOCAL_STATIC_LIBRARIES := liblog LOCAL_CFLAGS += $(targetSmpFlag) -Werror LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := libcutils # TODO: remove liblog as whole static library, once we don't have prebuilt that requires # liblog symbols present in libcutils. LOCAL_WHOLE_STATIC_LIBRARIES := libcutils liblog LOCAL_SHARED_LIBRARIES := liblog LOCAL_CFLAGS += $(targetSmpFlag) -Werror LOCAL_C_INCLUDES := $(libcutils_c_includes) LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := tst_str_parms LOCAL_CFLAGS += -DTEST_STR_PARMS -Werror LOCAL_SRC_FILES := str_parms.c hashmap.c memory.c LOCAL_SHARED_LIBRARIES := liblog LOCAL_MODULE_TAGS := optional LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk include $(BUILD_EXECUTABLE) include $(call all-makefiles-under,$(LOCAL_PATH))