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