blob: c392540882c2df3f2566840ce0f8981c92e9fb31 [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 \
Joe Onorato62c220b2017-11-18 20:32:56 -080022 src/atoms.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 \
Bookatz857aaa52017-12-19 15:29:06 -080025 src/anomaly/DurationAnomalyTracker.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000026 src/condition/CombinationConditionTracker.cpp \
27 src/condition/condition_util.cpp \
28 src/condition/SimpleConditionTracker.cpp \
Yao Chen729093d2017-10-16 10:33:26 -070029 src/condition/ConditionWizard.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -070030 src/config/ConfigKey.cpp \
31 src/config/ConfigListener.cpp \
32 src/config/ConfigManager.cpp \
Chenjie Yu5305e1d2017-10-31 13:49:36 -070033 src/external/StatsCompanionServicePuller.cpp \
34 src/external/ResourcePowerManagerPuller.cpp \
Chenjie Yue33bc3b2017-11-06 17:56:44 -080035 src/external/CpuTimePerUidPuller.cpp \
36 src/external/CpuTimePerUidFreqPuller.cpp \
Chenjie Yu6736c892017-11-09 10:50:09 -080037 src/external/StatsPullerManagerImpl.cpp \
Joe Onoratoc4dfae52017-10-17 23:38:21 -070038 src/logd/LogEvent.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -070039 src/logd/LogListener.cpp \
40 src/logd/LogReader.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000041 src/matchers/CombinationLogMatchingTracker.cpp \
42 src/matchers/matcher_util.cpp \
43 src/matchers/SimpleLogMatchingTracker.cpp \
Yao Chenb7041772017-10-20 16:59:25 -070044 src/metrics/MetricProducer.cpp \
Yao Chen5110bed2017-10-23 12:50:02 -070045 src/metrics/EventMetricProducer.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000046 src/metrics/CountMetricProducer.cpp \
Yao Chen729093d2017-10-16 10:33:26 -070047 src/metrics/DurationMetricProducer.cpp \
Yao Chen5154a372017-10-30 22:57:06 -070048 src/metrics/duration_helper/OringDurationTracker.cpp \
49 src/metrics/duration_helper/MaxDurationTracker.cpp \
Chenjie Yub3dda412017-10-24 13:41:59 -070050 src/metrics/ValueMetricProducer.cpp \
Yangster1d4d6862017-10-31 12:58:51 -070051 src/metrics/GaugeMetricProducer.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000052 src/metrics/MetricsManager.cpp \
53 src/metrics/metrics_manager_util.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -070054 src/packages/UidMap.cpp \
yro947fbce2017-11-15 22:50:23 -080055 src/storage/StorageManager.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000056 src/StatsLogProcessor.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000057 src/StatsService.cpp \
Yao Chend5aa01b32017-12-19 16:46:36 -080058 src/HashableDimensionKey.cpp \
Yao Chenb3561512017-11-21 18:07:17 -080059 src/guardrail/MemoryLeakTrackUtil.cpp \
60 src/guardrail/StatsdStats.cpp
Yao Chenab273e22017-09-06 12:53:50 -070061
Yao Chend54f9dd2017-10-17 17:37:48 +000062statsd_common_c_includes := \
David Chen1481fe12017-10-16 13:16:34 -070063 $(LOCAL_PATH)/src \
64 $(LOCAL_PATH)/../../libs/services/include
Yao Chenab273e22017-09-06 12:53:50 -070065
Yao Chend54f9dd2017-10-17 17:37:48 +000066statsd_common_aidl_includes := \
67 $(LOCAL_PATH)/../../core/java
Yao Chenab273e22017-09-06 12:53:50 -070068
Joe Onorato62c220b2017-11-18 20:32:56 -080069statsd_common_static_libraries := \
70 libplatformprotos
71
Yao Chend54f9dd2017-10-17 17:37:48 +000072statsd_common_shared_libraries := \
73 libbase \
74 libbinder \
75 libcutils \
76 libincident \
77 liblog \
78 libselinux \
79 libutils \
80 libservices \
Chenjie Yu5305e1d2017-10-31 13:49:36 -070081 libprotoutil \
82 libstatslog \
83 libhardware \
84 libhardware_legacy \
85 libhidlbase \
86 libhidltransport \
87 libhwbinder \
88 android.hardware.power@1.0 \
Yao Chen8d9989b2017-11-18 18:54:50 -080089 android.hardware.power@1.1 \
90 libmemunreachable
Yao Chenab273e22017-09-06 12:53:50 -070091
Joe Onorato5dcbc6c2017-08-29 15:13:58 -070092# =========
93# statsd
94# =========
95
96include $(CLEAR_VARS)
97
98LOCAL_MODULE := statsd
99
100LOCAL_SRC_FILES := \
Yao Chend54f9dd2017-10-17 17:37:48 +0000101 $(statsd_common_src) \
102 src/main.cpp
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700103
104LOCAL_CFLAGS += \
105 -Wall \
106 -Werror \
107 -Wno-missing-field-initializers \
108 -Wno-unused-variable \
109 -Wno-unused-function \
110 -Wno-unused-parameter
111
112ifeq (debug,)
113 LOCAL_CFLAGS += \
114 -g -O0
115else
116 # optimize for size (protobuf glop can get big)
117 LOCAL_CFLAGS += \
118 -Os
119endif
Yao Chend54f9dd2017-10-17 17:37:48 +0000120LOCAL_PROTOC_OPTIMIZE_TYPE := lite-static
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700121
David Chen1481fe12017-10-16 13:16:34 -0700122LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
Yao Chend54f9dd2017-10-17 17:37:48 +0000123LOCAL_C_INCLUDES += $(statsd_common_c_includes)
Yao Chenab273e22017-09-06 12:53:50 -0700124
Joe Onorato62c220b2017-11-18 20:32:56 -0800125LOCAL_STATIC_LIBRARIES := $(statsd_common_static_libraries)
126
David Chend6896892017-10-25 11:49:03 -0700127LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
128 libgtest_prod
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700129
130LOCAL_MODULE_CLASS := EXECUTABLES
131
yro56967522017-12-12 10:52:19 -0800132LOCAL_INIT_RC := statsd.rc
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700133
134include $(BUILD_EXECUTABLE)
135
Yao Chend54f9dd2017-10-17 17:37:48 +0000136
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700137# ==============
138# statsd_test
139# ==============
140
141include $(CLEAR_VARS)
142
143LOCAL_MODULE := statsd_test
144LOCAL_COMPATIBILITY_SUITE := device-tests
145LOCAL_MODULE_TAGS := tests
146
David Chen1481fe12017-10-16 13:16:34 -0700147LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
Yao Chend54f9dd2017-10-17 17:37:48 +0000148LOCAL_C_INCLUDES += $(statsd_common_c_includes)
David Chendd896942017-09-26 11:44:40 -0700149
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700150LOCAL_CFLAGS += \
151 -Wall \
152 -Werror \
153 -Wno-missing-field-initializers \
154 -Wno-unused-variable \
155 -Wno-unused-function \
156 -Wno-unused-parameter
157
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700158LOCAL_SRC_FILES := \
Yao Chend54f9dd2017-10-17 17:37:48 +0000159 $(statsd_common_src) \
Joe Onorato9fc9edf2017-10-15 20:08:52 -0700160 tests/AnomalyMonitor_test.cpp \
Yang Lu3eba6212017-10-25 19:54:45 -0700161 tests/anomaly/AnomalyTracker_test.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -0700162 tests/ConfigManager_test.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +0000163 tests/indexed_priority_queue_test.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -0700164 tests/LogEntryMatcher_test.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +0000165 tests/LogReader_test.cpp \
166 tests/MetricsManager_test.cpp \
David Chend9269e22017-12-05 13:43:51 -0800167 tests/StatsLogProcessor_test.cpp \
Yao Chen5154a372017-10-30 22:57:06 -0700168 tests/UidMap_test.cpp \
Yao Chen967b2052017-11-07 16:36:43 -0800169 tests/condition/CombinationConditionTracker_test.cpp \
170 tests/condition/SimpleConditionTracker_test.cpp \
Yao Chen93fe3a32017-11-02 13:52:59 -0700171 tests/metrics/OringDurationTracker_test.cpp \
172 tests/metrics/MaxDurationTracker_test.cpp \
173 tests/metrics/CountMetricProducer_test.cpp \
Yangsterf2bee6f2017-11-29 12:01:05 -0800174 tests/metrics/DurationMetricProducer_test.cpp \
Chenjie Yu6736c892017-11-09 10:50:09 -0800175 tests/metrics/EventMetricProducer_test.cpp \
Yao Chenb3561512017-11-21 18:07:17 -0800176 tests/metrics/ValueMetricProducer_test.cpp \
Chenjie Yud9dfda72017-12-11 17:41:20 -0800177 tests/metrics/GaugeMetricProducer_test.cpp \
Yao Chend5aa01b32017-12-19 16:46:36 -0800178 tests/guardrail/StatsdStats_test.cpp \
179 tests/metrics/metrics_test_helper.cpp
Joe Onorato9fc9edf2017-10-15 20:08:52 -0700180
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700181LOCAL_STATIC_LIBRARIES := \
Joe Onorato62c220b2017-11-18 20:32:56 -0800182 $(statsd_common_static_libraries) \
Yao Chend54f9dd2017-10-17 17:37:48 +0000183 libgmock
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700184
Yao Chend54f9dd2017-10-17 17:37:48 +0000185LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries)
186
187LOCAL_PROTOC_OPTIMIZE_TYPE := lite
188
Joe Onorato62c220b2017-11-18 20:32:56 -0800189include $(BUILD_NATIVE_TEST)
190
191
Yao Chend54f9dd2017-10-17 17:37:48 +0000192statsd_common_src:=
193statsd_common_aidl_includes:=
194statsd_common_c_includes:=
Joe Onorato62c220b2017-11-18 20:32:56 -0800195statsd_common_static_libraries:=
196statsd_common_shared_libraries:=
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700197
Yao Chen1ff4f432017-11-16 17:01:40 -0800198
199##############################
200
201include $(call all-makefiles-under,$(LOCAL_PATH))