Home | History | Annotate | Download | only in libcutils
      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 #
     16 LOCAL_PATH := $(my-dir)
     17 include $(CLEAR_VARS)
     18 
     19 ifeq ($(TARGET_CPU_SMP),true)
     20     targetSmpFlag := -DANDROID_SMP=1
     21 else
     22     targetSmpFlag := -DANDROID_SMP=0
     23 endif
     24 hostSmpFlag := -DANDROID_SMP=0
     25 
     26 commonSources := \
     27 	hashmap.c \
     28 	atomic.c.arm \
     29 	native_handle.c \
     30 	config_utils.c \
     31 	cpu_info.c \
     32 	load_file.c \
     33 	open_memstream.c \
     34 	strdup16to8.c \
     35 	strdup8to16.c \
     36 	record_stream.c \
     37 	process_name.c \
     38 	threads.c \
     39 	sched_policy.c \
     40 	iosched_policy.c \
     41 	str_parms.c \
     42 
     43 # some files must not be compiled when building against Mingw
     44 # they correspond to features not used by our host development tools
     45 # which are also hard or even impossible to port to native Win32
     46 WINDOWS_HOST_ONLY :=
     47 ifeq ($(HOST_OS),windows)
     48     ifeq ($(strip $(USE_CYGWIN)),)
     49         WINDOWS_HOST_ONLY := 1
     50     endif
     51 endif
     52 # USE_MINGW is defined when we build against Mingw on Linux
     53 ifneq ($(strip $(USE_MINGW)),)
     54     WINDOWS_HOST_ONLY := 1
     55 endif
     56 
     57 ifneq ($(WINDOWS_HOST_ONLY),1)
     58     commonSources += \
     59         fs.c \
     60         multiuser.c \
     61         socket_inaddr_any_server.c \
     62         socket_local_client.c \
     63         socket_local_server.c \
     64         socket_loopback_client.c \
     65         socket_loopback_server.c \
     66         socket_network_client.c \
     67         sockets.c \
     68 
     69     commonHostSources += \
     70         ashmem-host.c
     71 
     72 endif
     73 
     74 
     75 # Static library for host
     76 # ========================================================
     77 LOCAL_MODULE := libcutils
     78 LOCAL_SRC_FILES := $(commonSources) $(commonHostSources) dlmalloc_stubs.c
     79 LOCAL_STATIC_LIBRARIES := liblog
     80 LOCAL_CFLAGS += $(hostSmpFlag)
     81 ifneq ($(HOST_OS),windows)
     82 LOCAL_CFLAGS += -Werror
     83 endif
     84 LOCAL_MULTILIB := both
     85 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
     86 include $(BUILD_HOST_STATIC_LIBRARY)
     87 
     88 
     89 # Tests for host
     90 # ========================================================
     91 include $(CLEAR_VARS)
     92 LOCAL_MODULE := tst_str_parms
     93 LOCAL_CFLAGS += -DTEST_STR_PARMS
     94 ifneq ($(HOST_OS),windows)
     95 LOCAL_CFLAGS += -Werror
     96 endif
     97 LOCAL_SRC_FILES := str_parms.c hashmap.c memory.c
     98 LOCAL_STATIC_LIBRARIES := liblog
     99 LOCAL_MODULE_TAGS := optional
    100 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
    101 include $(BUILD_HOST_EXECUTABLE)
    102 
    103 
    104 # Shared and static library for target
    105 # ========================================================
    106 
    107 include $(CLEAR_VARS)
    108 LOCAL_MODULE := libcutils
    109 LOCAL_SRC_FILES := $(commonSources) \
    110         android_reboot.c \
    111         ashmem-dev.c \
    112         debugger.c \
    113         klog.c \
    114         memory.c \
    115         partition_utils.c \
    116         properties.c \
    117         qtaguid.c \
    118         trace.c \
    119         uevent.c \
    120 
    121 LOCAL_SRC_FILES_arm += \
    122         arch-arm/memset32.S \
    123 
    124 LOCAL_SRC_FILES_arm64 += \
    125         arch-arm64/android_memset.S \
    126 
    127 LOCAL_SRC_FILES_mips += \
    128         arch-mips/android_memset.c \
    129 
    130 LOCAL_SRC_FILES_x86 += \
    131         arch-x86/android_memset16.S \
    132         arch-x86/android_memset32.S \
    133 
    134 LOCAL_SRC_FILES_x86_64 += \
    135         arch-x86_64/android_memset16_SSE2-atom.S \
    136         arch-x86_64/android_memset32_SSE2-atom.S \
    137 
    138 LOCAL_CFLAGS_arm += -DHAVE_MEMSET16 -DHAVE_MEMSET32
    139 LOCAL_CFLAGS_arm64 += -DHAVE_MEMSET16 -DHAVE_MEMSET32
    140 LOCAL_CFLAGS_mips += -DHAVE_MEMSET16 -DHAVE_MEMSET32
    141 LOCAL_CFLAGS_x86 += -DHAVE_MEMSET16 -DHAVE_MEMSET32
    142 LOCAL_CFLAGS_x86_64 += -DHAVE_MEMSET16 -DHAVE_MEMSET32
    143 
    144 LOCAL_C_INCLUDES := $(libcutils_c_includes)
    145 LOCAL_STATIC_LIBRARIES := liblog
    146 LOCAL_CFLAGS += $(targetSmpFlag) -Werror
    147 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
    148 include $(BUILD_STATIC_LIBRARY)
    149 
    150 include $(CLEAR_VARS)
    151 LOCAL_MODULE := libcutils
    152 # TODO: remove liblog as whole static library, once we don't have prebuilt that requires
    153 # liblog symbols present in libcutils.
    154 LOCAL_WHOLE_STATIC_LIBRARIES := libcutils liblog
    155 LOCAL_SHARED_LIBRARIES := liblog
    156 LOCAL_CFLAGS += $(targetSmpFlag) -Werror
    157 LOCAL_C_INCLUDES := $(libcutils_c_includes)
    158 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
    159 include $(BUILD_SHARED_LIBRARY)
    160 
    161 include $(CLEAR_VARS)
    162 LOCAL_MODULE := tst_str_parms
    163 LOCAL_CFLAGS += -DTEST_STR_PARMS -Werror
    164 LOCAL_SRC_FILES := str_parms.c hashmap.c memory.c
    165 LOCAL_SHARED_LIBRARIES := liblog
    166 LOCAL_MODULE_TAGS := optional
    167 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
    168 include $(BUILD_EXECUTABLE)
    169 
    170 include $(call all-makefiles-under,$(LOCAL_PATH))
    171