blob: 1b2f9da22ec1651ce84be62216fbd8a00b30a3d0 [file] [log] [blame]
Joe Onorato5dcbc6c2017-08-29 15:13:58 -07001# 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
Yao Chend54f9dd2017-10-17 17:37:48 +000017statsd_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 \
Stefan Lafonae2df012017-11-14 09:17:21 -080022 src/atoms_copy.proto \
Joe Onorato9fc9edf2017-10-15 20:08:52 -070023 src/anomaly/AnomalyMonitor.cpp \
Yangster-mace2cd6d52017-11-09 20:38:30 -080024 src/anomaly/AnomalyTracker.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000025 src/condition/CombinationConditionTracker.cpp \
26 src/condition/condition_util.cpp \
27 src/condition/SimpleConditionTracker.cpp \
Yao Chen729093d2017-10-16 10:33:26 -070028 src/condition/ConditionWizard.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -070029 src/config/ConfigKey.cpp \
30 src/config/ConfigListener.cpp \
31 src/config/ConfigManager.cpp \
Chenjie Yu5305e1d2017-10-31 13:49:36 -070032 src/external/StatsCompanionServicePuller.cpp \
33 src/external/ResourcePowerManagerPuller.cpp \
Chenjie Yue33bc3b2017-11-06 17:56:44 -080034 src/external/CpuTimePerUidPuller.cpp \
35 src/external/CpuTimePerUidFreqPuller.cpp \
Chenjie Yu6736c892017-11-09 10:50:09 -080036 src/external/StatsPullerManagerImpl.cpp \
Joe Onoratoc4dfae52017-10-17 23:38:21 -070037 src/logd/LogEvent.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -070038 src/logd/LogListener.cpp \
39 src/logd/LogReader.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000040 src/matchers/CombinationLogMatchingTracker.cpp \
41 src/matchers/matcher_util.cpp \
42 src/matchers/SimpleLogMatchingTracker.cpp \
Yao Chenb7041772017-10-20 16:59:25 -070043 src/metrics/MetricProducer.cpp \
Yao Chen5110bed2017-10-23 12:50:02 -070044 src/metrics/EventMetricProducer.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000045 src/metrics/CountMetricProducer.cpp \
Yao Chen729093d2017-10-16 10:33:26 -070046 src/metrics/DurationMetricProducer.cpp \
Yao Chen5154a372017-10-30 22:57:06 -070047 src/metrics/duration_helper/OringDurationTracker.cpp \
48 src/metrics/duration_helper/MaxDurationTracker.cpp \
Chenjie Yub3dda412017-10-24 13:41:59 -070049 src/metrics/ValueMetricProducer.cpp \
Yangster1d4d6862017-10-31 12:58:51 -070050 src/metrics/GaugeMetricProducer.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000051 src/metrics/MetricsManager.cpp \
52 src/metrics/metrics_manager_util.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -070053 src/packages/UidMap.cpp \
54 src/storage/DropboxReader.cpp \
55 src/storage/DropboxWriter.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000056 src/StatsLogProcessor.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000057 src/StatsService.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -070058 src/stats_util.cpp
Yao Chenab273e22017-09-06 12:53:50 -070059
Yao Chend54f9dd2017-10-17 17:37:48 +000060statsd_common_c_includes := \
David Chen1481fe12017-10-16 13:16:34 -070061 $(LOCAL_PATH)/src \
62 $(LOCAL_PATH)/../../libs/services/include
Yao Chenab273e22017-09-06 12:53:50 -070063
Yao Chend54f9dd2017-10-17 17:37:48 +000064statsd_common_aidl_includes := \
65 $(LOCAL_PATH)/../../core/java
Yao Chenab273e22017-09-06 12:53:50 -070066
Yao Chend54f9dd2017-10-17 17:37:48 +000067statsd_common_shared_libraries := \
68 libbase \
69 libbinder \
70 libcutils \
71 libincident \
72 liblog \
73 libselinux \
74 libutils \
75 libservices \
Yao Chen5110bed2017-10-23 12:50:02 -070076 libandroidfw \
Chenjie Yu5305e1d2017-10-31 13:49:36 -070077 libprotoutil \
78 libstatslog \
79 libhardware \
80 libhardware_legacy \
81 libhidlbase \
82 libhidltransport \
83 libhwbinder \
84 android.hardware.power@1.0 \
85 android.hardware.power@1.1
Yao Chenab273e22017-09-06 12:53:50 -070086
Joe Onorato5dcbc6c2017-08-29 15:13:58 -070087# =========
88# statsd
89# =========
90
91include $(CLEAR_VARS)
92
93LOCAL_MODULE := statsd
94
95LOCAL_SRC_FILES := \
Yao Chend54f9dd2017-10-17 17:37:48 +000096 $(statsd_common_src) \
97 src/main.cpp
Joe Onorato5dcbc6c2017-08-29 15:13:58 -070098
99LOCAL_CFLAGS += \
100 -Wall \
101 -Werror \
102 -Wno-missing-field-initializers \
103 -Wno-unused-variable \
104 -Wno-unused-function \
105 -Wno-unused-parameter
106
107ifeq (debug,)
108 LOCAL_CFLAGS += \
109 -g -O0
110else
111 # optimize for size (protobuf glop can get big)
112 LOCAL_CFLAGS += \
113 -Os
114endif
Yao Chend54f9dd2017-10-17 17:37:48 +0000115LOCAL_PROTOC_OPTIMIZE_TYPE := lite-static
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700116
David Chen1481fe12017-10-16 13:16:34 -0700117LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
Yao Chend54f9dd2017-10-17 17:37:48 +0000118LOCAL_C_INCLUDES += $(statsd_common_c_includes)
Yao Chenab273e22017-09-06 12:53:50 -0700119
David Chend6896892017-10-25 11:49:03 -0700120LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
121 libgtest_prod
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700122
123LOCAL_MODULE_CLASS := EXECUTABLES
124
125#LOCAL_INIT_RC := statsd.rc
126
127include $(BUILD_EXECUTABLE)
128
Yao Chend54f9dd2017-10-17 17:37:48 +0000129
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700130# ==============
131# statsd_test
132# ==============
133
134include $(CLEAR_VARS)
135
136LOCAL_MODULE := statsd_test
137LOCAL_COMPATIBILITY_SUITE := device-tests
138LOCAL_MODULE_TAGS := tests
139
David Chen1481fe12017-10-16 13:16:34 -0700140LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
Yao Chend54f9dd2017-10-17 17:37:48 +0000141LOCAL_C_INCLUDES += $(statsd_common_c_includes)
David Chendd896942017-09-26 11:44:40 -0700142
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700143LOCAL_CFLAGS += \
144 -Wall \
145 -Werror \
146 -Wno-missing-field-initializers \
147 -Wno-unused-variable \
148 -Wno-unused-function \
149 -Wno-unused-parameter
150
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700151LOCAL_SRC_FILES := \
Yao Chend54f9dd2017-10-17 17:37:48 +0000152 $(statsd_common_src) \
Joe Onorato9fc9edf2017-10-15 20:08:52 -0700153 tests/AnomalyMonitor_test.cpp \
Yang Lu3eba6212017-10-25 19:54:45 -0700154 tests/anomaly/AnomalyTracker_test.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -0700155 tests/ConfigManager_test.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +0000156 tests/indexed_priority_queue_test.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -0700157 tests/LogEntryMatcher_test.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +0000158 tests/LogReader_test.cpp \
159 tests/MetricsManager_test.cpp \
Yao Chen5154a372017-10-30 22:57:06 -0700160 tests/UidMap_test.cpp \
Yao Chen967b2052017-11-07 16:36:43 -0800161 tests/condition/CombinationConditionTracker_test.cpp \
162 tests/condition/SimpleConditionTracker_test.cpp \
Yao Chen93fe3a32017-11-02 13:52:59 -0700163 tests/metrics/OringDurationTracker_test.cpp \
164 tests/metrics/MaxDurationTracker_test.cpp \
165 tests/metrics/CountMetricProducer_test.cpp \
Chenjie Yu6736c892017-11-09 10:50:09 -0800166 tests/metrics/EventMetricProducer_test.cpp \
167 tests/metrics/ValueMetricProducer_test.cpp
Joe Onorato9fc9edf2017-10-15 20:08:52 -0700168
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700169LOCAL_STATIC_LIBRARIES := \
Yao Chend54f9dd2017-10-17 17:37:48 +0000170 libgmock
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700171
Yao Chend54f9dd2017-10-17 17:37:48 +0000172LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries)
173
174LOCAL_PROTOC_OPTIMIZE_TYPE := lite
175
176statsd_common_src:=
177statsd_common_aidl_includes:=
178statsd_common_c_includes:=
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700179
180include $(BUILD_NATIVE_TEST)