Android.mk revision 98a28501fe8ab53a490ec353c8a1f74f2e329cc5
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.proto \ 21 src/statsd_config.proto \ 22 src/statsd_internal.proto \ 23 src/atoms.proto \ 24 src/field_util.cpp \ 25 src/stats_log_util.cpp \ 26 src/dimension.cpp \ 27 src/anomaly/AnomalyMonitor.cpp \ 28 src/anomaly/AnomalyTracker.cpp \ 29 src/anomaly/DurationAnomalyTracker.cpp \ 30 src/condition/CombinationConditionTracker.cpp \ 31 src/condition/condition_util.cpp \ 32 src/condition/SimpleConditionTracker.cpp \ 33 src/condition/ConditionWizard.cpp \ 34 src/config/ConfigKey.cpp \ 35 src/config/ConfigListener.cpp \ 36 src/config/ConfigManager.cpp \ 37 src/external/StatsPuller.cpp \ 38 src/external/StatsCompanionServicePuller.cpp \ 39 src/external/SubsystemSleepStatePuller.cpp \ 40 src/external/CpuTimePerUidPuller.cpp \ 41 src/external/CpuTimePerUidFreqPuller.cpp \ 42 src/external/StatsPullerManagerImpl.cpp \ 43 src/logd/LogEvent.cpp \ 44 src/logd/LogListener.cpp \ 45 src/logd/LogReader.cpp \ 46 src/matchers/CombinationLogMatchingTracker.cpp \ 47 src/matchers/matcher_util.cpp \ 48 src/matchers/SimpleLogMatchingTracker.cpp \ 49 src/metrics/MetricProducer.cpp \ 50 src/metrics/EventMetricProducer.cpp \ 51 src/metrics/CountMetricProducer.cpp \ 52 src/metrics/DurationMetricProducer.cpp \ 53 src/metrics/duration_helper/OringDurationTracker.cpp \ 54 src/metrics/duration_helper/MaxDurationTracker.cpp \ 55 src/metrics/ValueMetricProducer.cpp \ 56 src/metrics/GaugeMetricProducer.cpp \ 57 src/metrics/MetricsManager.cpp \ 58 src/metrics/metrics_manager_util.cpp \ 59 src/packages/UidMap.cpp \ 60 src/storage/StorageManager.cpp \ 61 src/StatsLogProcessor.cpp \ 62 src/StatsService.cpp \ 63 src/HashableDimensionKey.cpp \ 64 src/guardrail/MemoryLeakTrackUtil.cpp \ 65 src/guardrail/StatsdStats.cpp 66 67statsd_common_c_includes := \ 68 $(LOCAL_PATH)/src \ 69 $(LOCAL_PATH)/../../libs/services/include 70 71statsd_common_aidl_includes := \ 72 $(LOCAL_PATH)/../../core/java 73 74statsd_common_static_libraries := \ 75 libplatformprotos 76 77statsd_common_shared_libraries := \ 78 libbase \ 79 libbinder \ 80 libcutils \ 81 libincident \ 82 liblog \ 83 libselinux \ 84 libutils \ 85 libservices \ 86 libprotoutil \ 87 libstatslog \ 88 libhardware \ 89 libhardware_legacy \ 90 libhidlbase \ 91 libhidltransport \ 92 libhwbinder \ 93 android.hardware.power@1.0 \ 94 android.hardware.power@1.1 \ 95 libmemunreachable 96 97# ========= 98# statsd 99# ========= 100 101include $(CLEAR_VARS) 102 103LOCAL_MODULE := statsd 104 105LOCAL_SRC_FILES := \ 106 $(statsd_common_src) \ 107 src/main.cpp 108 109LOCAL_CFLAGS += \ 110 -Wall \ 111 -Werror \ 112 -Wno-missing-field-initializers \ 113 -Wno-unused-variable \ 114 -Wno-unused-function \ 115 -Wno-unused-parameter 116 117ifeq (debug,) 118 LOCAL_CFLAGS += \ 119 -g -O0 120else 121 # optimize for size (protobuf glop can get big) 122 LOCAL_CFLAGS += \ 123 -Os 124endif 125LOCAL_PROTOC_OPTIMIZE_TYPE := lite-static 126 127LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes) 128LOCAL_C_INCLUDES += $(statsd_common_c_includes) 129 130LOCAL_STATIC_LIBRARIES := $(statsd_common_static_libraries) 131 132LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \ 133 libgtest_prod 134 135LOCAL_MODULE_CLASS := EXECUTABLES 136 137LOCAL_INIT_RC := statsd.rc 138 139include $(BUILD_EXECUTABLE) 140 141 142# ============== 143# statsd_test 144# ============== 145 146include $(CLEAR_VARS) 147 148LOCAL_MODULE := statsd_test 149LOCAL_COMPATIBILITY_SUITE := device-tests 150LOCAL_MODULE_TAGS := tests 151 152LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes) 153LOCAL_C_INCLUDES += $(statsd_common_c_includes) 154 155LOCAL_CFLAGS += \ 156 -Wall \ 157 -Werror \ 158 -Wno-missing-field-initializers \ 159 -Wno-unused-variable \ 160 -Wno-unused-function \ 161 -Wno-unused-parameter 162 163LOCAL_SRC_FILES := \ 164 $(statsd_common_src) \ 165 tests/AnomalyMonitor_test.cpp \ 166 tests/anomaly/AnomalyTracker_test.cpp \ 167 tests/ConfigManager_test.cpp \ 168 tests/indexed_priority_queue_test.cpp \ 169 tests/LogEntryMatcher_test.cpp \ 170 tests/LogReader_test.cpp \ 171 tests/LogEvent_test.cpp \ 172 tests/MetricsManager_test.cpp \ 173 tests/StatsLogProcessor_test.cpp \ 174 tests/UidMap_test.cpp \ 175 tests/condition/CombinationConditionTracker_test.cpp \ 176 tests/condition/SimpleConditionTracker_test.cpp \ 177 tests/metrics/OringDurationTracker_test.cpp \ 178 tests/metrics/MaxDurationTracker_test.cpp \ 179 tests/metrics/CountMetricProducer_test.cpp \ 180 tests/metrics/DurationMetricProducer_test.cpp \ 181 tests/metrics/EventMetricProducer_test.cpp \ 182 tests/metrics/ValueMetricProducer_test.cpp \ 183 tests/metrics/GaugeMetricProducer_test.cpp \ 184 tests/guardrail/StatsdStats_test.cpp \ 185 tests/metrics/metrics_test_helper.cpp \ 186 tests/statsd_test_util.cpp \ 187 tests/e2e/WakelockDuration_e2e_test.cpp \ 188 tests/e2e/MetricConditionLink_e2e_test.cpp \ 189 tests/e2e/Attribution_e2e_test.cpp \ 190 tests/e2e/GaugeMetric_e2e_test.cpp 191 192LOCAL_STATIC_LIBRARIES := \ 193 $(statsd_common_static_libraries) \ 194 libgmock 195 196LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) 197 198LOCAL_PROTOC_OPTIMIZE_TYPE := lite 199 200include $(BUILD_NATIVE_TEST) 201 202############################## 203# stats proto static java lib 204############################## 205 206include $(CLEAR_VARS) 207LOCAL_MODULE := statsdprotolite 208 209LOCAL_SRC_FILES := \ 210 src/stats_log.proto \ 211 src/statsd_config.proto \ 212 src/atoms.proto 213 214LOCAL_PROTOC_OPTIMIZE_TYPE := lite 215 216LOCAL_STATIC_JAVA_LIBRARIES := \ 217 platformprotoslite 218 219include $(BUILD_STATIC_JAVA_LIBRARY) 220 221statsd_common_src:= 222statsd_common_aidl_includes:= 223statsd_common_c_includes:= 224statsd_common_static_libraries:= 225statsd_common_shared_libraries:= 226 227 228############################## 229 230include $(call all-makefiles-under,$(LOCAL_PATH)) 231