Android.mk revision d78756d9e326bffc4ef0d7b071d49cb141cb9307
1d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# Copyright (C) 2015 The Android Open Source Project
2d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko#
3d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# Licensed under the Apache License, Version 2.0 (the "License");
4d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# you may not use this file except in compliance with the License.
5d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# You may obtain a copy of the License at
6d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko#
7d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko#      http://www.apache.org/licenses/LICENSE-2.0
8d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko#
9d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# Unless required by applicable law or agreed to in writing, software
10d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# distributed under the License is distributed on an "AS IS" BASIS,
11d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# See the License for the specific language governing permissions and
13d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# limitations under the License.
14d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
15d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_PATH := $(call my-dir)
16d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
17d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# TODO(avakulenko): Remove this condition when libchromeos can be built on
18d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# non-Linux host.
19d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenkoifeq ($(HOST_OS),linux)
20d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
21d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# Common variables
22d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# ========================================================
23d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
24d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkobuffetCommonCppExtension := .cc
25d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkobuffetCommonCFlags := -D__BRILLO__ -Wall -Werror \
26d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	-Wno-char-subscripts -Wno-missing-field-initializers \
27d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	-Wno-unused-function -Wno-unused-parameter
28d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
29d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkobuffetCommonCppFlags := \
30d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	-Wno-deprecated-register \
31d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	-Wno-sign-compare \
32d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	-Wno-sign-promo \
33d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	-Wno-non-virtual-dtor \
34d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
35d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkobuffetCommonCIncludes := \
36d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	$(LOCAL_PATH)/.. \
37d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	$(LOCAL_PATH)/dbus-proxies \
38d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	external/gtest/include \
39d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
40d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkobuffetSharedLibraries := \
41d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	libchrome \
42d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	libchrome-dbus \
43d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	libchromeos \
44d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	libchromeos-dbus \
45d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	libchromeos-http \
46d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	libchromeos-stream \
47d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	libdbus \
48d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	libweave \
49d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
50d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# buffet-common
51d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# ========================================================
52d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenkoinclude $(CLEAR_VARS)
53d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_MODULE := buffet-common
54d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_CPP_EXTENSION := $(buffetCommonCppExtension)
55d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_CFLAGS := $(buffetCommonCFlags)
56d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_CPPFLAGS := $(buffetCommonCppFlags)
57d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_C_INCLUDES := $(buffetCommonCIncludes)
58d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_SHARED_LIBRARIES := $(buffetSharedLibraries)
59d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_STATIC_LIBRARIES :=
60d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_RTTI_FLAG := -frtti
61d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_CLANG := true
62d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
63d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
64d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_SRC_FILES := \
65d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	buffet/dbus_command_dispatcher.cc \
66d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	buffet/dbus_command_proxy.cc \
67d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	buffet/dbus_conversion.cc \
68d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	buffet/dbus_constants.cc \
69d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	buffet/http_transport_client.cc \
70d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	buffet/manager.cc \
71d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
72d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko#	buffet/dbus_bindings/org.chromium.Buffet.Command.xml \
73d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko#	buffet/dbus_bindings/org.chromium.Buffet.Manager.xml \
74d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko#	buffet/ap_manager_client.cc \
75d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko#	buffet/peerd_client.cc \
76d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko#	buffet/shill_client.cc \
77d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko#	buffet/webserv_client.cc \
78d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
79d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenkoinclude $(BUILD_STATIC_LIBRARY)
80d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
81d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# buffet
82d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# ========================================================
83d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenkoinclude $(CLEAR_VARS)
84d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_MODULE := weaved
85d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_REQUIRED_MODULES := init.weaved.rc
86d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_CPP_EXTENSION := $(buffetCommonCppExtension)
87d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_CFLAGS := $(buffetCommonCFlags)
88d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_CPPFLAGS := $(buffetCommonCppFlags)
89d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_C_INCLUDES := $(buffetCommonCIncludes)
90d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_SHARED_LIBRARIES := $(buffetSharedLibraries)
91d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_WHOLE_STATIC_LIBRARIES := buffet-common
92d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_CLANG := true
93d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_RTTI_FLAG := -frtti
94d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
95d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_SRC_FILES := \
96d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	buffet/main.cc
97d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
98d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenkoinclude $(BUILD_EXECUTABLE)
99d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
100d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenkoinclude $(CLEAR_VARS)
101d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_MODULE := init.weaved.rc
102d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_MODULE_CLASS := ETC
103d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_MODULE_PATH := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_INITRCD)
104d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
105d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenkoifdef INITRC_TEMPLATE
106d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenkoinclude $(BUILD_SYSTEM)/base_rules.mk
107d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
108d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenkoweaved_caps :=
109d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko$(LOCAL_BUILT_MODULE): $(INITRC_TEMPLATE)
110d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	$(call generate-initrc-file,weaved,$(weaved_caps))
111d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenkoendif
112d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
113d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# buffet_testrunner
114d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko# ========================================================
115d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenkoinclude $(CLEAR_VARS)
116d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_MODULE := buffet_testrunner
117d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_CPP_EXTENSION := $(buffetCommonCppExtension)
118d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_CFLAGS := $(buffetCommonCFlags)
119d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_CPPFLAGS := $(buffetCommonCppFlags)
120d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_C_INCLUDES := \
121d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	$(buffetCommonCIncludes) \
122d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	external/gmock/include \
123d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
124d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_SHARED_LIBRARIES := \
125d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	$(buffetSharedLibraries) \
126d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
127d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_STATIC_LIBRARIES := \
128d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	buffet-common \
129d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	libchrome_dbus_test_helpers \
130d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	libchrome_test_helpers \
131d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	libchromeos-test-helpers \
132d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	libgtest \
133d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	libgmock \
134d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	libweave-test \
135d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
136d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_RTTI_FLAG := -frtti
137d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_CLANG := true
138d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
139d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex VakulenkoLOCAL_SRC_FILES := \
140d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	buffet/buffet_testrunner.cc \
141d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	buffet/dbus_command_proxy_unittest.cc \
142d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko	buffet/dbus_conversion_unittest.cc \
143d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
144d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenkoinclude $(BUILD_NATIVE_TEST)
145d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenko
146d78756d9e326bffc4ef0d7b071d49cb141cb9307Alex Vakulenkoendif # HOST_OS == linux
147