Android.mk revision b5bc74122fb95c81bedad625160fb8d144a863cd
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 := \
18d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    ../../core/java/android/os/IStatsCompanionService.aidl \
19d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    ../../core/java/android/os/IStatsManager.aidl \
20d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/stats_log.proto \
21d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/statsd_config.proto \
22d19bcae42df300c080415a1a91df53c4e28ea4d5Yangster-mac    src/statsd_internal.proto \
2362c220b20b3fc431c27feac29a71d040fc8e2626Joe Onorato    src/atoms.proto \
242087716f2bdca90c7c3034d556ac12911bd8018eYangster-mac    src/field_util.cpp \
252087716f2bdca90c7c3034d556ac12911bd8018eYangster-mac    src/stats_log_util.cpp \
262087716f2bdca90c7c3034d556ac12911bd8018eYangster-mac    src/dimension.cpp \
279fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/anomaly/AnomalyMonitor.cpp \
28e2cd6d509b17894b95d14523ae3e7c4c7a9a74e3Yangster-mac    src/anomaly/AnomalyTracker.cpp \
29857aaa520804d846a050e1eeb85d82977c983666Bookatz    src/anomaly/DurationAnomalyTracker.cpp \
30d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/condition/CombinationConditionTracker.cpp \
31d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/condition/condition_util.cpp \
32d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/condition/SimpleConditionTracker.cpp \
33729093df0dd7d7038ad43b16ecdb59a1404f3b50Yao Chen    src/condition/ConditionWizard.cpp \
349fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/config/ConfigKey.cpp \
359fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/config/ConfigListener.cpp \
369fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/config/ConfigManager.cpp \
37b038b709566c191164bd23539175df8aadeb2f94Chenjie Yu    src/external/StatsPuller.cpp \
385305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    src/external/StatsCompanionServicePuller.cpp \
395305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    src/external/ResourcePowerManagerPuller.cpp \
40e33bc3b967aef6f10df82e5b374e4b701ce6ca69Chenjie Yu    src/external/CpuTimePerUidPuller.cpp \
41e33bc3b967aef6f10df82e5b374e4b701ce6ca69Chenjie Yu    src/external/CpuTimePerUidFreqPuller.cpp \
426736c893a73c567d3794d88ae0d17abab34b7a6fChenjie Yu    src/external/StatsPullerManagerImpl.cpp \
43c4dfae56c10a1dd571baa78c750f2e68c919d74fJoe Onorato    src/logd/LogEvent.cpp \
449fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/logd/LogListener.cpp \
459fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/logd/LogReader.cpp \
46d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/matchers/CombinationLogMatchingTracker.cpp \
47d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/matchers/matcher_util.cpp \
48d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/matchers/SimpleLogMatchingTracker.cpp \
49b704177d401de895c3b00d258885dc4243a7b3a7Yao Chen    src/metrics/MetricProducer.cpp \
505110bedd787835d4dbc809b7977285cac364bdefYao Chen    src/metrics/EventMetricProducer.cpp \
51d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/metrics/CountMetricProducer.cpp \
52729093df0dd7d7038ad43b16ecdb59a1404f3b50Yao Chen    src/metrics/DurationMetricProducer.cpp \
535154a379303ab90a2b2914676a4441917a329b5dYao Chen    src/metrics/duration_helper/OringDurationTracker.cpp \
545154a379303ab90a2b2914676a4441917a329b5dYao Chen    src/metrics/duration_helper/MaxDurationTracker.cpp \
55b3dda41a5a48ddfa44dc8fa939ab495926a0195dChenjie Yu    src/metrics/ValueMetricProducer.cpp \
561d4d686001b220e114df737154f143ffabc212f1Yangster    src/metrics/GaugeMetricProducer.cpp \
57d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/metrics/MetricsManager.cpp \
58d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/metrics/metrics_manager_util.cpp \
599fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/packages/UidMap.cpp \
60947fbce521d9e8377df03e3c1c31884ed5577f32yro    src/storage/StorageManager.cpp \
61d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/StatsLogProcessor.cpp \
62d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/StatsService.cpp \
63d5aa01b3716e07463019fa772f07a40613f9e39eYao Chen    src/HashableDimensionKey.cpp \
64b356151e63140085cb96fa16804ee18b3862a4fcYao Chen    src/guardrail/MemoryLeakTrackUtil.cpp \
65b356151e63140085cb96fa16804ee18b3862a4fcYao Chen    src/guardrail/StatsdStats.cpp
66ab273e2e13f87d57f66395c52df424710b8066e1Yao Chen
67d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_c_includes := \
681481fe142d36d5f0b36eeebc358d5a8aef7bf28aDavid Chen    $(LOCAL_PATH)/src \
691481fe142d36d5f0b36eeebc358d5a8aef7bf28aDavid Chen    $(LOCAL_PATH)/../../libs/services/include
70ab273e2e13f87d57f66395c52df424710b8066e1Yao Chen
71d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_aidl_includes := \
72d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    $(LOCAL_PATH)/../../core/java
73931945399859ab91545ba2c2a914f044092d5e2eJoe Onorato
7462c220b20b3fc431c27feac29a71d040fc8e2626Joe Onoratostatsd_common_static_libraries := \
7562c220b20b3fc431c27feac29a71d040fc8e2626Joe Onorato    libplatformprotos
7662c220b20b3fc431c27feac29a71d040fc8e2626Joe Onorato
77d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_shared_libraries := \
78d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libbase \
79d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libbinder \
80d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libcutils \
81d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libincident \
82d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    liblog \
83d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libselinux \
84d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libutils \
85d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libservices \
865305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libprotoutil \
875305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libstatslog \
885305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libhardware \
895305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libhardware_legacy \
905305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libhidlbase \
915305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libhidltransport \
925305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libhwbinder \
935305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    android.hardware.power@1.0 \
948d9989bb376f3937d9c8fef07c9cc65ef78cbcaeYao Chen    android.hardware.power@1.1 \
958d9989bb376f3937d9c8fef07c9cc65ef78cbcaeYao Chen    libmemunreachable
96ab273e2e13f87d57f66395c52df424710b8066e1Yao Chen
975dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# =========
985dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# statsd
995dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# =========
1005dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1015dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoinclude $(CLEAR_VARS)
1025dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1035dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_MODULE := statsd
1045dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1055dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_SRC_FILES := \
106d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    $(statsd_common_src) \
107d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/main.cpp
1085dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1095dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_CFLAGS += \
1105dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wall \
1115dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Werror \
1125dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-missing-field-initializers \
1135dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-variable \
1145dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-function \
1155dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-parameter
1165dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1175dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoifeq (debug,)
1185dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    LOCAL_CFLAGS += \
1195dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato            -g -O0
1205dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoelse
1215dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    # optimize for size (protobuf glop can get big)
1225dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    LOCAL_CFLAGS += \
1235dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato            -Os
1245dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoendif
125d54f9dd6251c7bd7033630b7afa770190d41c409Yao ChenLOCAL_PROTOC_OPTIMIZE_TYPE := lite-static
1265dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1271481fe142d36d5f0b36eeebc358d5a8aef7bf28aDavid ChenLOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
128d54f9dd6251c7bd7033630b7afa770190d41c409Yao ChenLOCAL_C_INCLUDES += $(statsd_common_c_includes)
129931945399859ab91545ba2c2a914f044092d5e2eJoe Onorato
13062c220b20b3fc431c27feac29a71d040fc8e2626Joe OnoratoLOCAL_STATIC_LIBRARIES := $(statsd_common_static_libraries)
13162c220b20b3fc431c27feac29a71d040fc8e2626Joe Onorato
132d6896898912eb1fc2c8976dce4340ab8d4e8d22fDavid ChenLOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
133d6896898912eb1fc2c8976dce4340ab8d4e8d22fDavid Chen    libgtest_prod
1345dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1355dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_MODULE_CLASS := EXECUTABLES
1365dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
13756967528d7bcc7a1342d68f19e0ffa79f2a1ed59yroLOCAL_INIT_RC := statsd.rc
1385dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1395dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoinclude $(BUILD_EXECUTABLE)
1405dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
141d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen
1425dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# ==============
1435dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# statsd_test
1445dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# ==============
1455dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1465dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoinclude $(CLEAR_VARS)
1475dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1485dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_MODULE := statsd_test
1495dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_COMPATIBILITY_SUITE := device-tests
1505dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_MODULE_TAGS := tests
1515dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1521481fe142d36d5f0b36eeebc358d5a8aef7bf28aDavid ChenLOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
153d54f9dd6251c7bd7033630b7afa770190d41c409Yao ChenLOCAL_C_INCLUDES += $(statsd_common_c_includes)
154dd89694f5e843963b992a09317aa58fa4a9d7a8dDavid Chen
1555dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_CFLAGS += \
1565dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wall \
1575dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Werror \
1585dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-missing-field-initializers \
1595dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-variable \
1605dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-function \
1615dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-parameter
1625dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1635dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_SRC_FILES := \
164d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    $(statsd_common_src) \
1659fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    tests/AnomalyMonitor_test.cpp \
1663eba62186592382ed3d97cecca0c547487e4b2e4Yang Lu    tests/anomaly/AnomalyTracker_test.cpp \
1679fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    tests/ConfigManager_test.cpp \
168d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    tests/indexed_priority_queue_test.cpp \
1699fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    tests/LogEntryMatcher_test.cpp \
170d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    tests/LogReader_test.cpp \
1712087716f2bdca90c7c3034d556ac12911bd8018eYangster-mac    tests/LogEvent_test.cpp \
172d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    tests/MetricsManager_test.cpp \
173d9269e2ee70b01cad3dda14c786e0e4434192248David Chen    tests/StatsLogProcessor_test.cpp \
1745154a379303ab90a2b2914676a4441917a329b5dYao Chen    tests/UidMap_test.cpp \
175967b2051fe17fa3c38d248a556f8c4ff21a573a7Yao Chen    tests/condition/CombinationConditionTracker_test.cpp \
176967b2051fe17fa3c38d248a556f8c4ff21a573a7Yao Chen    tests/condition/SimpleConditionTracker_test.cpp \
17793fe3a34a02c673eaee4a2d18565ba8df20685cbYao Chen    tests/metrics/OringDurationTracker_test.cpp \
17893fe3a34a02c673eaee4a2d18565ba8df20685cbYao Chen    tests/metrics/MaxDurationTracker_test.cpp \
17993fe3a34a02c673eaee4a2d18565ba8df20685cbYao Chen    tests/metrics/CountMetricProducer_test.cpp \
180f2bee6fec965fd42ab223f1a3aa705f07ba79aeaYangster    tests/metrics/DurationMetricProducer_test.cpp \
1816736c893a73c567d3794d88ae0d17abab34b7a6fChenjie Yu    tests/metrics/EventMetricProducer_test.cpp \
182b356151e63140085cb96fa16804ee18b3862a4fcYao Chen    tests/metrics/ValueMetricProducer_test.cpp \
183d9dfda76e0aa8b8aa4d2562a7ff4259f4500e355Chenjie Yu    tests/metrics/GaugeMetricProducer_test.cpp \
184d5aa01b3716e07463019fa772f07a40613f9e39eYao Chen    tests/guardrail/StatsdStats_test.cpp \
1852087716f2bdca90c7c3034d556ac12911bd8018eYangster-mac    tests/metrics/metrics_test_helper.cpp \
1862087716f2bdca90c7c3034d556ac12911bd8018eYangster-mac    tests/statsd_test_util.cpp \
1872087716f2bdca90c7c3034d556ac12911bd8018eYangster-mac    tests/e2e/WakelockDuration_e2e_test.cpp \
188b5bc74122fb95c81bedad625160fb8d144a863cdYangster-mac    tests/e2e/MetricConditionLink_e2e_test.cpp \
189b5bc74122fb95c81bedad625160fb8d144a863cdYangster-mac    tests/e2e/Attribution_e2e_test.cpp
1909fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato
1915dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_STATIC_LIBRARIES := \
19262c220b20b3fc431c27feac29a71d040fc8e2626Joe Onorato    $(statsd_common_static_libraries) \
193d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libgmock
194b81d1a7b9a38dcb4d356ae3435a82fb52ba7d585Joe Onorato
195d54f9dd6251c7bd7033630b7afa770190d41c409Yao ChenLOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries)
196d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen
197d54f9dd6251c7bd7033630b7afa770190d41c409Yao ChenLOCAL_PROTOC_OPTIMIZE_TYPE := lite
198d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen
19962c220b20b3fc431c27feac29a71d040fc8e2626Joe Onoratoinclude $(BUILD_NATIVE_TEST)
20062c220b20b3fc431c27feac29a71d040fc8e2626Joe Onorato
20162c220b20b3fc431c27feac29a71d040fc8e2626Joe Onorato
202d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_src:=
203d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_aidl_includes:=
204d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_c_includes:=
20562c220b20b3fc431c27feac29a71d040fc8e2626Joe Onoratostatsd_common_static_libraries:=
20662c220b20b3fc431c27feac29a71d040fc8e2626Joe Onoratostatsd_common_shared_libraries:=
2075dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
2081ff4f4325882d812ded4f75ee6c2b6d352a85c9eYao Chen
2091ff4f4325882d812ded4f75ee6c2b6d352a85c9eYao Chen##############################
2101ff4f4325882d812ded4f75ee6c2b6d352a85c9eYao Chen
2112087716f2bdca90c7c3034d556ac12911bd8018eYangster-macinclude $(call all-makefiles-under,$(LOCAL_PATH))