Android.mk revision 8d9989bb376f3937d9c8fef07c9cc65ef78cbcae
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/IStatsCallbacks.aidl \
19    ../../core/java/android/os/IStatsCompanionService.aidl \
20    ../../core/java/android/os/IStatsManager.aidl \
21    src/stats_log.proto \
22    src/statsd_config.proto \
23    src/atoms_copy.proto \
24    src/anomaly/AnomalyMonitor.cpp \
25    src/condition/CombinationConditionTracker.cpp \
26    src/condition/condition_util.cpp \
27    src/condition/SimpleConditionTracker.cpp \
28    src/condition/ConditionWizard.cpp \
29    src/config/ConfigKey.cpp \
30    src/config/ConfigListener.cpp \
31    src/config/ConfigManager.cpp \
32    src/external/StatsCompanionServicePuller.cpp \
33    src/external/ResourcePowerManagerPuller.cpp \
34    src/external/CpuTimePerUidPuller.cpp \
35    src/external/CpuTimePerUidFreqPuller.cpp \
36    src/external/StatsPullerManagerImpl.cpp \
37    src/logd/LogEvent.cpp \
38    src/logd/LogListener.cpp \
39    src/logd/LogReader.cpp \
40    src/matchers/CombinationLogMatchingTracker.cpp \
41    src/matchers/matcher_util.cpp \
42    src/matchers/SimpleLogMatchingTracker.cpp \
43    src/anomaly/DiscreteAnomalyTracker.cpp \
44    src/metrics/MetricProducer.cpp \
45    src/metrics/EventMetricProducer.cpp \
46    src/metrics/CountMetricProducer.cpp \
47    src/metrics/DurationMetricProducer.cpp \
48    src/metrics/duration_helper/OringDurationTracker.cpp \
49    src/metrics/duration_helper/MaxDurationTracker.cpp \
50    src/metrics/ValueMetricProducer.cpp \
51    src/metrics/GaugeMetricProducer.cpp \
52    src/metrics/MetricsManager.cpp \
53    src/metrics/metrics_manager_util.cpp \
54    src/packages/UidMap.cpp \
55    src/storage/DropboxReader.cpp \
56    src/storage/DropboxWriter.cpp \
57    src/StatsLogProcessor.cpp \
58    src/StatsService.cpp \
59    src/stats_util.cpp \
60    src/guardrail/MemoryLeakTrackUtil.cpp
61
62statsd_common_c_includes := \
63    $(LOCAL_PATH)/src \
64    $(LOCAL_PATH)/../../libs/services/include
65
66statsd_common_aidl_includes := \
67    $(LOCAL_PATH)/../../core/java
68
69statsd_common_shared_libraries := \
70    libbase \
71    libbinder \
72    libcutils \
73    libincident \
74    liblog \
75    libselinux \
76    libutils \
77    libservices \
78    libandroidfw \
79    libprotoutil \
80    libstatslog \
81    libhardware \
82    libhardware_legacy \
83    libhidlbase \
84    libhidltransport \
85    libhwbinder \
86    android.hardware.power@1.0 \
87    android.hardware.power@1.1 \
88    libmemunreachable
89
90# =========
91# statsd
92# =========
93
94include $(CLEAR_VARS)
95
96LOCAL_MODULE := statsd
97
98LOCAL_SRC_FILES := \
99    $(statsd_common_src) \
100    src/main.cpp
101
102LOCAL_CFLAGS += \
103    -Wall \
104    -Werror \
105    -Wno-missing-field-initializers \
106    -Wno-unused-variable \
107    -Wno-unused-function \
108    -Wno-unused-parameter
109
110ifeq (debug,)
111    LOCAL_CFLAGS += \
112            -g -O0
113else
114    # optimize for size (protobuf glop can get big)
115    LOCAL_CFLAGS += \
116            -Os
117endif
118LOCAL_PROTOC_OPTIMIZE_TYPE := lite-static
119
120LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
121LOCAL_C_INCLUDES += $(statsd_common_c_includes)
122
123LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
124    libgtest_prod
125
126LOCAL_MODULE_CLASS := EXECUTABLES
127
128#LOCAL_INIT_RC := statsd.rc
129
130include $(BUILD_EXECUTABLE)
131
132
133# ==============
134# statsd_test
135# ==============
136
137include $(CLEAR_VARS)
138
139LOCAL_MODULE := statsd_test
140LOCAL_COMPATIBILITY_SUITE := device-tests
141LOCAL_MODULE_TAGS := tests
142
143LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
144LOCAL_C_INCLUDES += $(statsd_common_c_includes)
145
146LOCAL_CFLAGS += \
147    -Wall \
148    -Werror \
149    -Wno-missing-field-initializers \
150    -Wno-unused-variable \
151    -Wno-unused-function \
152    -Wno-unused-parameter
153
154LOCAL_SRC_FILES := \
155    $(statsd_common_src) \
156    tests/AnomalyMonitor_test.cpp \
157    tests/anomaly/AnomalyTracker_test.cpp \
158    tests/ConfigManager_test.cpp \
159    tests/indexed_priority_queue_test.cpp \
160    tests/LogEntryMatcher_test.cpp \
161    tests/LogReader_test.cpp \
162    tests/MetricsManager_test.cpp \
163    tests/UidMap_test.cpp \
164    tests/condition/CombinationConditionTracker_test.cpp \
165    tests/condition/SimpleConditionTracker_test.cpp \
166    tests/metrics/OringDurationTracker_test.cpp \
167    tests/metrics/MaxDurationTracker_test.cpp \
168    tests/metrics/CountMetricProducer_test.cpp \
169    tests/metrics/EventMetricProducer_test.cpp \
170    tests/metrics/ValueMetricProducer_test.cpp
171
172LOCAL_STATIC_LIBRARIES := \
173    libgmock
174
175LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries)
176
177LOCAL_PROTOC_OPTIMIZE_TYPE := lite
178
179statsd_common_src:=
180statsd_common_aidl_includes:=
181statsd_common_c_includes:=
182
183include $(BUILD_NATIVE_TEST)
184
185