Android.mk revision 644e15d5bd476009178bdfb16e0a4ed94255f3e6
1# Copyright (C) 2017 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15LOCAL_PATH:= $(call my-dir) 16 17statsd_common_src := \ 18 ../../core/java/android/os/IStatsCompanionService.aidl \ 19 ../../core/java/android/os/IStatsManager.aidl \ 20 src/stats_log_common.proto \ 21 src/statsd_config.proto \ 22 src/FieldValue.cpp \ 23 src/stats_log_util.cpp \ 24 src/anomaly/AlarmMonitor.cpp \ 25 src/anomaly/AlarmTracker.cpp \ 26 src/anomaly/AnomalyTracker.cpp \ 27 src/anomaly/DurationAnomalyTracker.cpp \ 28 src/anomaly/subscriber_util.cpp \ 29 src/condition/CombinationConditionTracker.cpp \ 30 src/condition/condition_util.cpp \ 31 src/condition/SimpleConditionTracker.cpp \ 32 src/condition/ConditionWizard.cpp \ 33 src/condition/StateTracker.cpp \ 34 src/config/ConfigKey.cpp \ 35 src/config/ConfigListener.cpp \ 36 src/config/ConfigManager.cpp \ 37 src/external/Perfetto.cpp \ 38 src/external/StatsPuller.cpp \ 39 src/external/StatsCompanionServicePuller.cpp \ 40 src/external/SubsystemSleepStatePuller.cpp \ 41 src/external/ResourceHealthManagerPuller.cpp \ 42 src/external/ResourceThermalManagerPuller.cpp \ 43 src/external/CpuTimePerUidPuller.cpp \ 44 src/external/CpuTimePerUidFreqPuller.cpp \ 45 src/external/KernelUidCpuActiveTimeReader.cpp \ 46 src/external/KernelUidCpuClusterTimeReader.cpp \ 47 src/external/StatsPullerManagerImpl.cpp \ 48 src/external/puller_util.cpp \ 49 src/logd/LogEvent.cpp \ 50 src/logd/LogListener.cpp \ 51 src/logd/LogReader.cpp \ 52 src/matchers/CombinationLogMatchingTracker.cpp \ 53 src/matchers/matcher_util.cpp \ 54 src/matchers/SimpleLogMatchingTracker.cpp \ 55 src/metrics/MetricProducer.cpp \ 56 src/metrics/EventMetricProducer.cpp \ 57 src/metrics/CountMetricProducer.cpp \ 58 src/metrics/DurationMetricProducer.cpp \ 59 src/metrics/duration_helper/OringDurationTracker.cpp \ 60 src/metrics/duration_helper/MaxDurationTracker.cpp \ 61 src/metrics/ValueMetricProducer.cpp \ 62 src/metrics/GaugeMetricProducer.cpp \ 63 src/metrics/MetricsManager.cpp \ 64 src/metrics/metrics_manager_util.cpp \ 65 src/packages/UidMap.cpp \ 66 src/perfetto/perfetto_config.proto \ 67 src/storage/StorageManager.cpp \ 68 src/StatsLogProcessor.cpp \ 69 src/StatsService.cpp \ 70 src/subscriber/IncidentdReporter.cpp \ 71 src/subscriber/SubscriberReporter.cpp \ 72 src/HashableDimensionKey.cpp \ 73 src/guardrail/StatsdStats.cpp 74 75statsd_common_c_includes := \ 76 $(LOCAL_PATH)/src \ 77 $(LOCAL_PATH)/../../libs/services/include 78 79statsd_common_aidl_includes := \ 80 $(LOCAL_PATH)/../../core/java 81 82statsd_common_static_libraries := \ 83 libhealthhalutils \ 84 libplatformprotos \ 85 86statsd_common_shared_libraries := \ 87 libbase \ 88 libbinder \ 89 libcutils \ 90 libincident \ 91 liblog \ 92 libselinux \ 93 libutils \ 94 libservices \ 95 libprotoutil \ 96 libstatslog \ 97 libhardware \ 98 libhardware_legacy \ 99 libhidlbase \ 100 libhidltransport \ 101 libhwbinder \ 102 android.hardware.health@2.0 \ 103 android.hardware.power@1.0 \ 104 android.hardware.power@1.1 \ 105 android.hardware.thermal@1.0 106 107# ========= 108# statsd 109# ========= 110 111include $(CLEAR_VARS) 112 113LOCAL_MODULE := statsd 114 115LOCAL_SRC_FILES := \ 116 $(statsd_common_src) \ 117 src/main.cpp 118 119LOCAL_CFLAGS += \ 120 -Wall \ 121 -Wextra \ 122 -Werror \ 123 -Wno-unused-parameter 124 125ifeq (debug,) 126 LOCAL_CFLAGS += \ 127 -g -O0 128else 129 # optimize for size (protobuf glop can get big) 130 LOCAL_CFLAGS += \ 131 -Os 132endif 133LOCAL_PROTOC_OPTIMIZE_TYPE := lite 134 135LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes) 136LOCAL_C_INCLUDES += $(statsd_common_c_includes) 137 138LOCAL_STATIC_LIBRARIES := $(statsd_common_static_libraries) 139 140LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \ 141 libgtest_prod 142 143LOCAL_MODULE_CLASS := EXECUTABLES 144 145LOCAL_INIT_RC := statsd.rc 146 147include $(BUILD_EXECUTABLE) 148 149 150# ============== 151# statsd_test 152# ============== 153 154include $(CLEAR_VARS) 155 156LOCAL_MODULE := statsd_test 157LOCAL_COMPATIBILITY_SUITE := device-tests 158LOCAL_MODULE_TAGS := tests 159 160LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes) 161LOCAL_C_INCLUDES += $(statsd_common_c_includes) 162 163LOCAL_CFLAGS += \ 164 -Wall \ 165 -Werror \ 166 -Wno-missing-field-initializers \ 167 -Wno-unused-variable \ 168 -Wno-unused-function \ 169 -Wno-unused-parameter 170 171LOCAL_SRC_FILES := \ 172 $(statsd_common_src) \ 173 src/atom_field_options.proto \ 174 src/atoms.proto \ 175 src/stats_log.proto \ 176 tests/AlarmMonitor_test.cpp \ 177 tests/anomaly/AlarmTracker_test.cpp \ 178 tests/anomaly/AnomalyTracker_test.cpp \ 179 tests/ConfigManager_test.cpp \ 180 tests/external/puller_util_test.cpp \ 181 tests/indexed_priority_queue_test.cpp \ 182 tests/LogEntryMatcher_test.cpp \ 183 tests/LogReader_test.cpp \ 184 tests/LogEvent_test.cpp \ 185 tests/MetricsManager_test.cpp \ 186 tests/StatsLogProcessor_test.cpp \ 187 tests/UidMap_test.cpp \ 188 tests/FieldValue_test.cpp \ 189 tests/condition/CombinationConditionTracker_test.cpp \ 190 tests/condition/SimpleConditionTracker_test.cpp \ 191 tests/condition/StateTracker_test.cpp \ 192 tests/metrics/OringDurationTracker_test.cpp \ 193 tests/metrics/MaxDurationTracker_test.cpp \ 194 tests/metrics/CountMetricProducer_test.cpp \ 195 tests/metrics/DurationMetricProducer_test.cpp \ 196 tests/metrics/EventMetricProducer_test.cpp \ 197 tests/metrics/ValueMetricProducer_test.cpp \ 198 tests/metrics/GaugeMetricProducer_test.cpp \ 199 tests/guardrail/StatsdStats_test.cpp \ 200 tests/metrics/metrics_test_helper.cpp \ 201 tests/statsd_test_util.cpp \ 202 tests/e2e/WakelockDuration_e2e_test.cpp \ 203 tests/e2e/MetricConditionLink_e2e_test.cpp \ 204 tests/e2e/Attribution_e2e_test.cpp \ 205 tests/e2e/GaugeMetric_e2e_test.cpp \ 206 tests/e2e/DimensionInCondition_e2e_test.cpp 207 208LOCAL_STATIC_LIBRARIES := \ 209 $(statsd_common_static_libraries) \ 210 libgmock 211 212LOCAL_PROTOC_OPTIMIZE_TYPE := full 213 214LOCAL_PROTOC_FLAGS := \ 215 -Iexternal/protobuf/src 216 217LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \ 218 libprotobuf-cpp-full 219 220include $(BUILD_NATIVE_TEST) 221 222############################## 223# stats proto static java lib 224############################## 225 226include $(CLEAR_VARS) 227LOCAL_MODULE := statsdprotolite 228 229LOCAL_SRC_FILES := \ 230 src/stats_log.proto \ 231 src/stats_log_common.proto \ 232 src/statsd_config.proto \ 233 src/perfetto/perfetto_config.proto \ 234 src/atoms.proto 235 236LOCAL_PROTOC_OPTIMIZE_TYPE := lite 237 238LOCAL_STATIC_JAVA_LIBRARIES := \ 239 platformprotoslite 240 241LOCAL_PROTOC_FLAGS := \ 242 -Iexternal/protobuf/src 243 244include $(BUILD_STATIC_JAVA_LIBRARY) 245 246############################## 247# statsd micro benchmark 248############################## 249 250include $(CLEAR_VARS) 251LOCAL_MODULE := statsd_benchmark 252 253LOCAL_SRC_FILES := $(statsd_common_src) \ 254 benchmark/main.cpp \ 255 benchmark/hello_world_benchmark.cpp \ 256 benchmark/log_event_benchmark.cpp \ 257 benchmark/stats_write_benchmark.cpp \ 258 benchmark/filter_value_benchmark.cpp 259 260LOCAL_C_INCLUDES := $(statsd_common_c_includes) 261 262LOCAL_CFLAGS := -Wall \ 263 -Werror \ 264 -Wno-unused-parameter \ 265 -Wno-unused-variable \ 266 -Wno-unused-function \ 267 268# Bug: http://b/29823425 Disable -Wvarargs for Clang update to r271374 269LOCAL_CFLAGS += -Wno-varargs 270 271LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes) 272 273LOCAL_STATIC_LIBRARIES := \ 274 $(statsd_common_static_libraries) 275 276LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \ 277 libgtest_prod \ 278 libstatslog 279 280LOCAL_MODULE_TAGS := eng tests 281 282include $(BUILD_NATIVE_BENCHMARK) 283 284 285statsd_common_src:= 286statsd_common_aidl_includes:= 287statsd_common_c_includes:= 288statsd_common_static_libraries:= 289statsd_common_shared_libraries:= 290 291 292include $(call all-makefiles-under,$(LOCAL_PATH)) 293