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