Android.mk revision b3dda41a5a48ddfa44dc8fa939ab495926a0195d
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/stats_events_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/KernelWakelockPuller.cpp \
33    src/external/StatsPullerManager.cpp \
34    src/logd/LogEvent.cpp \
35    src/logd/LogListener.cpp \
36    src/logd/LogReader.cpp \
37    src/matchers/CombinationLogMatchingTracker.cpp \
38    src/matchers/matcher_util.cpp \
39    src/matchers/SimpleLogMatchingTracker.cpp \
40    src/metrics/CountAnomalyTracker.cpp \
41    src/metrics/MetricProducer.cpp \
42    src/metrics/EventMetricProducer.cpp \
43    src/metrics/CountMetricProducer.cpp \
44    src/metrics/DurationMetricProducer.cpp \
45    src/metrics/duration_helper/OringDurationTracker.cpp \
46    src/metrics/duration_helper/MaxDurationTracker.cpp \
47    src/metrics/ValueMetricProducer.cpp \
48    src/metrics/MetricsManager.cpp \
49    src/metrics/metrics_manager_util.cpp \
50    src/packages/UidMap.cpp \
51    src/storage/DropboxReader.cpp \
52    src/storage/DropboxWriter.cpp \
53    src/StatsLogProcessor.cpp \
54    src/StatsService.cpp \
55    src/stats_util.cpp
56
57statsd_common_c_includes := \
58    $(LOCAL_PATH)/src \
59    $(LOCAL_PATH)/../../libs/services/include
60
61statsd_common_aidl_includes := \
62    $(LOCAL_PATH)/../../core/java
63
64statsd_common_shared_libraries := \
65    libbase \
66    libbinder \
67    libcutils \
68    libincident \
69    liblog \
70    libselinux \
71    libutils \
72    libservices \
73    libandroidfw \
74    libprotoutil
75
76# =========
77# statsd
78# =========
79
80include $(CLEAR_VARS)
81
82LOCAL_MODULE := statsd
83
84LOCAL_SRC_FILES := \
85    $(statsd_common_src) \
86    src/main.cpp
87
88LOCAL_CFLAGS += \
89    -Wall \
90    -Werror \
91    -Wno-missing-field-initializers \
92    -Wno-unused-variable \
93    -Wno-unused-function \
94    -Wno-unused-parameter
95
96ifeq (debug,)
97    LOCAL_CFLAGS += \
98            -g -O0
99else
100    # optimize for size (protobuf glop can get big)
101    LOCAL_CFLAGS += \
102            -Os
103endif
104LOCAL_PROTOC_OPTIMIZE_TYPE := lite-static
105
106LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
107LOCAL_C_INCLUDES += $(statsd_common_c_includes)
108
109LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
110    libgtest_prod
111
112LOCAL_MODULE_CLASS := EXECUTABLES
113
114#LOCAL_INIT_RC := statsd.rc
115
116include $(BUILD_EXECUTABLE)
117
118
119# ==============
120# statsd_test
121# ==============
122
123include $(CLEAR_VARS)
124
125LOCAL_MODULE := statsd_test
126LOCAL_COMPATIBILITY_SUITE := device-tests
127LOCAL_MODULE_TAGS := tests
128
129LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
130LOCAL_C_INCLUDES += $(statsd_common_c_includes)
131
132LOCAL_CFLAGS += \
133    -Wall \
134    -Werror \
135    -Wno-missing-field-initializers \
136    -Wno-unused-variable \
137    -Wno-unused-function \
138    -Wno-unused-parameter
139
140LOCAL_SRC_FILES := \
141    $(statsd_common_src) \
142    tests/AnomalyMonitor_test.cpp \
143    tests/ConditionTracker_test.cpp \
144    tests/ConfigManager_test.cpp \
145    tests/indexed_priority_queue_test.cpp \
146    tests/LogEntryMatcher_test.cpp \
147    tests/LogReader_test.cpp \
148    tests/MetricsManager_test.cpp \
149    tests/UidMap_test.cpp \
150    tests/OringDurationTracker_test.cpp \
151    tests/MaxDurationTracker_test.cpp
152
153
154LOCAL_STATIC_LIBRARIES := \
155    libgmock
156
157LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries)
158
159LOCAL_PROTOC_OPTIMIZE_TYPE := lite
160
161statsd_common_src:=
162statsd_common_aidl_includes:=
163statsd_common_c_includes:=
164
165include $(BUILD_NATIVE_TEST)
166
167