Android.mk revision 5305e1ddc22bfe9ad941cb2550987aaba8de234c
15dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# Copyright (C) 2017 The Android Open Source Project
25dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato#
35dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# Licensed under the Apache License, Version 2.0 (the "License");
45dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# you may not use this file except in compliance with the License.
55dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# You may obtain a copy of the License at
65dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato#
75dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato#      http://www.apache.org/licenses/LICENSE-2.0
85dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato#
95dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# Unless required by applicable law or agreed to in writing, software
105dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# distributed under the License is distributed on an "AS IS" BASIS,
115dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
125dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# See the License for the specific language governing permissions and
135dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# limitations under the License.
145dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
155dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_PATH:= $(call my-dir)
165dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
17d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_src := \
1831eb67b3498d326659b2b164ff367a01a793d641yro    ../../core/java/android/os/IStatsCallbacks.aidl \
19d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    ../../core/java/android/os/IStatsCompanionService.aidl \
20d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    ../../core/java/android/os/IStatsManager.aidl \
21d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/stats_log.proto \
22d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/statsd_config.proto \
2370b986376189bf64706924a614d2d44e5702ed9cYao Chen    src/stats_events_copy.proto \
249fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/anomaly/AnomalyMonitor.cpp \
25d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/condition/CombinationConditionTracker.cpp \
26d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/condition/condition_util.cpp \
27d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/condition/SimpleConditionTracker.cpp \
28729093df0dd7d7038ad43b16ecdb59a1404f3b50Yao Chen    src/condition/ConditionWizard.cpp \
299fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/config/ConfigKey.cpp \
309fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/config/ConfigListener.cpp \
319fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/config/ConfigManager.cpp \
325305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    src/external/StatsCompanionServicePuller.cpp \
335305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    src/external/ResourcePowerManagerPuller.cpp \
349fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/external/StatsPullerManager.cpp \
35c4dfae56c10a1dd571baa78c750f2e68c919d74fJoe Onorato    src/logd/LogEvent.cpp \
369fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/logd/LogListener.cpp \
379fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/logd/LogReader.cpp \
38d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/matchers/CombinationLogMatchingTracker.cpp \
39d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/matchers/matcher_util.cpp \
40d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/matchers/SimpleLogMatchingTracker.cpp \
41d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/metrics/CountAnomalyTracker.cpp \
42b704177d401de895c3b00d258885dc4243a7b3a7Yao Chen    src/metrics/MetricProducer.cpp \
435110bedd787835d4dbc809b7977285cac364bdefYao Chen    src/metrics/EventMetricProducer.cpp \
44d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/metrics/CountMetricProducer.cpp \
45729093df0dd7d7038ad43b16ecdb59a1404f3b50Yao Chen    src/metrics/DurationMetricProducer.cpp \
465154a379303ab90a2b2914676a4441917a329b5dYao Chen    src/metrics/duration_helper/OringDurationTracker.cpp \
475154a379303ab90a2b2914676a4441917a329b5dYao Chen    src/metrics/duration_helper/MaxDurationTracker.cpp \
48b3dda41a5a48ddfa44dc8fa939ab495926a0195dChenjie Yu    src/metrics/ValueMetricProducer.cpp \
49d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/metrics/MetricsManager.cpp \
50d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/metrics/metrics_manager_util.cpp \
519fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/packages/UidMap.cpp \
529fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/storage/DropboxReader.cpp \
539fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/storage/DropboxWriter.cpp \
54d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/StatsLogProcessor.cpp \
55d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/StatsService.cpp \
569fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/stats_util.cpp
57ab273e2e13f87d57f66395c52df424710b8066e1Yao Chen
58d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_c_includes := \
591481fe142d36d5f0b36eeebc358d5a8aef7bf28aDavid Chen    $(LOCAL_PATH)/src \
601481fe142d36d5f0b36eeebc358d5a8aef7bf28aDavid Chen    $(LOCAL_PATH)/../../libs/services/include
61ab273e2e13f87d57f66395c52df424710b8066e1Yao Chen
62d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_aidl_includes := \
63d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    $(LOCAL_PATH)/../../core/java
64931945399859ab91545ba2c2a914f044092d5e2eJoe Onorato
65d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_shared_libraries := \
66d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libbase \
67d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libbinder \
68d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libcutils \
69d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libincident \
70d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    liblog \
71d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libselinux \
72d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libutils \
73d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libservices \
745110bedd787835d4dbc809b7977285cac364bdefYao Chen    libandroidfw \
755305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libprotoutil \
765305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libstatslog \
775305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libhardware \
785305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libhardware_legacy \
795305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libhidlbase \
805305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libhidltransport \
815305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libhwbinder \
825305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    android.hardware.power@1.0 \
835305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    android.hardware.power@1.1
84ab273e2e13f87d57f66395c52df424710b8066e1Yao Chen
855dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# =========
865dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# statsd
875dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# =========
885dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
895dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoinclude $(CLEAR_VARS)
905dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
915dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_MODULE := statsd
925dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
935dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_SRC_FILES := \
94d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    $(statsd_common_src) \
95d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/main.cpp
965dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
975dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_CFLAGS += \
985dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wall \
995dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Werror \
1005dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-missing-field-initializers \
1015dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-variable \
1025dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-function \
1035dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-parameter
1045dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1055dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoifeq (debug,)
1065dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    LOCAL_CFLAGS += \
1075dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato            -g -O0
1085dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoelse
1095dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    # optimize for size (protobuf glop can get big)
1105dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    LOCAL_CFLAGS += \
1115dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato            -Os
1125dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoendif
113d54f9dd6251c7bd7033630b7afa770190d41c409Yao ChenLOCAL_PROTOC_OPTIMIZE_TYPE := lite-static
1145dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1151481fe142d36d5f0b36eeebc358d5a8aef7bf28aDavid ChenLOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
116d54f9dd6251c7bd7033630b7afa770190d41c409Yao ChenLOCAL_C_INCLUDES += $(statsd_common_c_includes)
117931945399859ab91545ba2c2a914f044092d5e2eJoe Onorato
118d6896898912eb1fc2c8976dce4340ab8d4e8d22fDavid ChenLOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
119d6896898912eb1fc2c8976dce4340ab8d4e8d22fDavid Chen    libgtest_prod
1205dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1215dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_MODULE_CLASS := EXECUTABLES
1225dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1235dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato#LOCAL_INIT_RC := statsd.rc
1245dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1255dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoinclude $(BUILD_EXECUTABLE)
1265dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
127d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen
1285dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# ==============
1295dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# statsd_test
1305dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# ==============
1315dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1325dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoinclude $(CLEAR_VARS)
1335dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1345dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_MODULE := statsd_test
1355dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_COMPATIBILITY_SUITE := device-tests
1365dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_MODULE_TAGS := tests
1375dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1381481fe142d36d5f0b36eeebc358d5a8aef7bf28aDavid ChenLOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
139d54f9dd6251c7bd7033630b7afa770190d41c409Yao ChenLOCAL_C_INCLUDES += $(statsd_common_c_includes)
140dd89694f5e843963b992a09317aa58fa4a9d7a8dDavid Chen
1415dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_CFLAGS += \
1425dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wall \
1435dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Werror \
1445dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-missing-field-initializers \
1455dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-variable \
1465dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-function \
1475dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-parameter
1485dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1495dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_SRC_FILES := \
150d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    $(statsd_common_src) \
1519fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    tests/AnomalyMonitor_test.cpp \
1529fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    tests/ConditionTracker_test.cpp \
1539fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    tests/ConfigManager_test.cpp \
154d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    tests/indexed_priority_queue_test.cpp \
1559fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    tests/LogEntryMatcher_test.cpp \
156d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    tests/LogReader_test.cpp \
157d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    tests/MetricsManager_test.cpp \
1585154a379303ab90a2b2914676a4441917a329b5dYao Chen    tests/UidMap_test.cpp \
1595154a379303ab90a2b2914676a4441917a329b5dYao Chen    tests/OringDurationTracker_test.cpp \
1605154a379303ab90a2b2914676a4441917a329b5dYao Chen    tests/MaxDurationTracker_test.cpp
1619fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato
1625dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1635dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_STATIC_LIBRARIES := \
164d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libgmock
165b81d1a7b9a38dcb4d356ae3435a82fb52ba7d585Joe Onorato
166d54f9dd6251c7bd7033630b7afa770190d41c409Yao ChenLOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries)
167d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen
168d54f9dd6251c7bd7033630b7afa770190d41c409Yao ChenLOCAL_PROTOC_OPTIMIZE_TYPE := lite
169d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen
170d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_src:=
171d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_aidl_includes:=
172d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_c_includes:=
1735dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1745dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoinclude $(BUILD_NATIVE_TEST)
175d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen
176