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