blob: 655635256ff19f01145393dc38d64862aed343c9 [file] [log] [blame]
Alex Vakulenkod78756d2015-08-11 12:32:02 -07001# Copyright (C) 2015 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
17# TODO(avakulenko): Remove this condition when libchromeos can be built on
18# non-Linux host.
19ifeq ($(HOST_OS),linux)
20
21# Common variables
22# ========================================================
23
24buffetCommonCppExtension := .cc
Alex Vakulenkof0f55342015-08-18 15:51:40 -070025buffetCommonCFlags := -DBUFFET_USE_WIFI_BOOTSTRAPPING -Wall -Werror \
Alex Vakulenkod78756d2015-08-11 12:32:02 -070026 -Wno-char-subscripts -Wno-missing-field-initializers \
Alex Vakulenkof0f55342015-08-18 15:51:40 -070027 -Wno-unused-function -Wno-unused-parameter \
Alex Vakulenkod78756d2015-08-11 12:32:02 -070028
29buffetCommonCppFlags := \
30 -Wno-deprecated-register \
31 -Wno-sign-compare \
32 -Wno-sign-promo \
33 -Wno-non-virtual-dtor \
34
35buffetCommonCIncludes := \
36 $(LOCAL_PATH)/.. \
37 $(LOCAL_PATH)/dbus-proxies \
38 external/gtest/include \
39
40buffetSharedLibraries := \
Robert Gindacf92c662015-08-20 09:30:11 -070041 libavahi-common \
Alex Vakulenkod78756d2015-08-11 12:32:02 -070042 libchrome \
43 libchrome-dbus \
44 libchromeos \
45 libchromeos-dbus \
46 libchromeos-http \
47 libchromeos-stream \
48 libdbus \
49 libweave \
Alex Vakulenko1642bec2015-08-19 09:34:58 -070050 libwebserv \
Alex Vakulenkod78756d2015-08-11 12:32:02 -070051
Alex Vakulenkof0f55342015-08-18 15:51:40 -070052ifdef BRILLO
Alex Vakulenkof0f55342015-08-18 15:51:40 -070053buffetSharedLibraries += libconnectivity
54endif
55
Alex Vakulenkod78756d2015-08-11 12:32:02 -070056# buffet-common
57# ========================================================
58include $(CLEAR_VARS)
59LOCAL_MODULE := buffet-common
60LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension)
61LOCAL_CFLAGS := $(buffetCommonCFlags)
62LOCAL_CPPFLAGS := $(buffetCommonCppFlags)
63LOCAL_C_INCLUDES := $(buffetCommonCIncludes)
64LOCAL_SHARED_LIBRARIES := $(buffetSharedLibraries)
65LOCAL_STATIC_LIBRARIES :=
66LOCAL_RTTI_FLAG := -frtti
67LOCAL_CLANG := true
68LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
69
70LOCAL_SRC_FILES := \
Alex Vakulenko0bc967f2015-08-18 11:22:07 -070071 buffet/buffet_config.cc \
Alex Vakulenkod78756d2015-08-11 12:32:02 -070072 buffet/dbus_command_dispatcher.cc \
73 buffet/dbus_command_proxy.cc \
74 buffet/dbus_conversion.cc \
75 buffet/dbus_constants.cc \
76 buffet/http_transport_client.cc \
77 buffet/manager.cc \
Alex Vakulenko0bc967f2015-08-18 11:22:07 -070078 buffet/socket_stream.cc \
Alex Vakulenko1642bec2015-08-19 09:34:58 -070079 buffet/webserv_client.cc \
Christopher Wileyc21ae072015-08-19 13:46:58 -070080 buffet/dbus_bindings/dbus-service-config.json \
Christopher Wiley892a5c42015-08-21 13:41:43 -070081 buffet/dbus_bindings/com.android.Weave.Command.dbus-xml \
82 buffet/dbus_bindings/com.android.Weave.Manager.dbus-xml \
Alex Vakulenkod78756d2015-08-11 12:32:02 -070083
Alex Vakulenkof0f55342015-08-18 15:51:40 -070084ifdef BRILLO
85
86LOCAL_SRC_FILES += \
87 buffet/avahi_mdns_client.cc \
88 buffet/brillo_network_client.cc \
Robert Gindaf86123d2015-09-11 16:10:43 -070089 buffet/stub_bluetooth_client.cc \
Alex Vakulenkof0f55342015-08-18 15:51:40 -070090
91else # BRILLO
92
93LOCAL_SRC_FILES += \
Robert Gindaf86123d2015-09-11 16:10:43 -070094 buffet/stub_bluetooth_client.cc \
Alex Vakulenkof0f55342015-08-18 15:51:40 -070095 buffet/stub_mdns_client.cc \
96 buffet/stub_network_client.cc \
97
98endif # BRILLO
Alex Vakulenkod78756d2015-08-11 12:32:02 -070099
100include $(BUILD_STATIC_LIBRARY)
101
102# buffet
103# ========================================================
104include $(CLEAR_VARS)
105LOCAL_MODULE := weaved
Alex Vakulenkof0f55342015-08-18 15:51:40 -0700106LOCAL_REQUIRED_MODULES := \
Robert Gindacf92c662015-08-20 09:30:11 -0700107 avahi-daemon \
Alex Vakulenkof0f55342015-08-18 15:51:40 -0700108 base_state.defaults.json \
109 base_state.schema.json \
Alex Vakulenko332b26f2015-08-21 15:56:24 -0700110 weaved.json \
Alex Vakulenko63bdf082015-08-21 09:27:12 -0700111 com.android.Weave.conf \
Alex Vakulenkof0f55342015-08-18 15:51:40 -0700112 gcd.json \
Alex Vakulenko1642bec2015-08-19 09:34:58 -0700113 webservd \
Alex Vakulenkof0f55342015-08-18 15:51:40 -0700114
Alex Vakulenkod78756d2015-08-11 12:32:02 -0700115LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension)
116LOCAL_CFLAGS := $(buffetCommonCFlags)
117LOCAL_CPPFLAGS := $(buffetCommonCppFlags)
118LOCAL_C_INCLUDES := $(buffetCommonCIncludes)
Alex Vakulenkoc9474182015-09-10 14:33:24 -0700119LOCAL_INIT_RC := init.weaved.rc
Alex Vakulenkod78756d2015-08-11 12:32:02 -0700120LOCAL_SHARED_LIBRARIES := $(buffetSharedLibraries)
121LOCAL_WHOLE_STATIC_LIBRARIES := buffet-common
122LOCAL_CLANG := true
123LOCAL_RTTI_FLAG := -frtti
124
125LOCAL_SRC_FILES := \
126 buffet/main.cc
127
128include $(BUILD_EXECUTABLE)
129
Alex Vakulenkoee805c42015-08-20 10:37:49 -0700130# libweaved-client
131# ========================================================
132include $(CLEAR_VARS)
133LOCAL_MODULE := libweaved-client
134LOCAL_DBUS_PROXY_PREFIX := buffet
135
136LOCAL_SRC_FILES := \
137 buffet/dbus_bindings/dbus-service-config.json \
Christopher Wiley892a5c42015-08-21 13:41:43 -0700138 buffet/dbus_bindings/com.android.Weave.Command.dbus-xml \
139 buffet/dbus_bindings/com.android.Weave.Manager.dbus-xml \
Alex Vakulenkoee805c42015-08-20 10:37:49 -0700140
141include $(BUILD_SHARED_LIBRARY)
142
Alex Vakulenkod78756d2015-08-11 12:32:02 -0700143# buffet_testrunner
144# ========================================================
145include $(CLEAR_VARS)
146LOCAL_MODULE := buffet_testrunner
147LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension)
148LOCAL_CFLAGS := $(buffetCommonCFlags)
149LOCAL_CPPFLAGS := $(buffetCommonCppFlags)
150LOCAL_C_INCLUDES := \
151 $(buffetCommonCIncludes) \
152 external/gmock/include \
153
154LOCAL_SHARED_LIBRARIES := \
155 $(buffetSharedLibraries) \
156
157LOCAL_STATIC_LIBRARIES := \
158 buffet-common \
159 libchrome_dbus_test_helpers \
160 libchrome_test_helpers \
161 libchromeos-test-helpers \
162 libgtest \
163 libgmock \
164 libweave-test \
165
166LOCAL_RTTI_FLAG := -frtti
167LOCAL_CLANG := true
168
169LOCAL_SRC_FILES := \
170 buffet/buffet_testrunner.cc \
171 buffet/dbus_command_proxy_unittest.cc \
172 buffet/dbus_conversion_unittest.cc \
173
174include $(BUILD_NATIVE_TEST)
175
Alex Vakulenko2d108f32015-08-19 11:25:54 -0700176# weaved_client
177# ========================================================
178include $(CLEAR_VARS)
179LOCAL_MODULE := weaved_client
180LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension)
181LOCAL_CFLAGS := $(buffetCommonCFlags)
182LOCAL_CPPFLAGS := $(buffetCommonCppFlags)
183LOCAL_C_INCLUDES := $(buffetCommonCIncludes)
184LOCAL_SHARED_LIBRARIES := $(buffetSharedLibraries)
185LOCAL_STATIC_LIBRARIES :=
Christopher Wileyc21ae072015-08-19 13:46:58 -0700186LOCAL_DBUS_PROXY_PREFIX := buffet
Alex Vakulenko2d108f32015-08-19 11:25:54 -0700187LOCAL_RTTI_FLAG := -frtti
188LOCAL_CLANG := true
189
190LOCAL_SRC_FILES := \
191 buffet/buffet_client.cc \
Christopher Wileyc21ae072015-08-19 13:46:58 -0700192 buffet/dbus_bindings/dbus-service-config.json \
Christopher Wiley892a5c42015-08-21 13:41:43 -0700193 buffet/dbus_bindings/com.android.Weave.Command.dbus-xml \
194 buffet/dbus_bindings/com.android.Weave.Manager.dbus-xml \
Alex Vakulenko2d108f32015-08-19 11:25:54 -0700195
196include $(BUILD_EXECUTABLE)
197
Alex Vakulenko8e346362015-08-21 10:01:57 -0700198# Config files for /etc/weaved
Alex Vakulenkof0f55342015-08-18 15:51:40 -0700199# ========================================================
200include $(CLEAR_VARS)
201LOCAL_MODULE := base_state.defaults.json
202LOCAL_MODULE_CLASS := ETC
Alex Vakulenko8e346362015-08-21 10:01:57 -0700203LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved
204LOCAL_SRC_FILES := buffet/etc/weaved/base_state.defaults.json
Alex Vakulenkof0f55342015-08-18 15:51:40 -0700205include $(BUILD_PREBUILT)
206
207include $(CLEAR_VARS)
208LOCAL_MODULE := base_state.schema.json
209LOCAL_MODULE_CLASS := ETC
Alex Vakulenko8e346362015-08-21 10:01:57 -0700210LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved
211LOCAL_SRC_FILES := buffet/etc/weaved/base_state.schema.json
Alex Vakulenkof0f55342015-08-18 15:51:40 -0700212include $(BUILD_PREBUILT)
213
214include $(CLEAR_VARS)
215LOCAL_MODULE := gcd.json
216LOCAL_MODULE_CLASS := ETC
Alex Vakulenko8e346362015-08-21 10:01:57 -0700217LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved
218LOCAL_SRC_FILES := buffet/etc/weaved/gcd.json
Alex Vakulenkof0f55342015-08-18 15:51:40 -0700219include $(BUILD_PREBUILT)
220
Alex Vakulenkoe245e142015-08-20 11:22:13 -0700221include $(CLEAR_VARS)
Alex Vakulenko332b26f2015-08-21 15:56:24 -0700222LOCAL_MODULE := weaved.json
Alex Vakulenkoe245e142015-08-20 11:22:13 -0700223LOCAL_MODULE_CLASS := ETC
Alex Vakulenko8e346362015-08-21 10:01:57 -0700224LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved/commands
Alex Vakulenko332b26f2015-08-21 15:56:24 -0700225LOCAL_SRC_FILES := buffet/etc/weaved/commands/weaved.json
Alex Vakulenkoe245e142015-08-20 11:22:13 -0700226include $(BUILD_PREBUILT)
227
Alex Vakulenkof0f55342015-08-18 15:51:40 -0700228# DBus config files for /etc/dbus-1
229# ========================================================
230include $(CLEAR_VARS)
Alex Vakulenko63bdf082015-08-21 09:27:12 -0700231LOCAL_MODULE := com.android.Weave.conf
Alex Vakulenkof0f55342015-08-18 15:51:40 -0700232LOCAL_MODULE_CLASS := ETC
233LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/dbus-1
Alex Vakulenko63bdf082015-08-21 09:27:12 -0700234LOCAL_SRC_FILES := buffet/etc/dbus-1/com.android.Weave.conf
Alex Vakulenkof0f55342015-08-18 15:51:40 -0700235include $(BUILD_PREBUILT)
236
Alex Vakulenkod78756d2015-08-11 12:32:02 -0700237endif # HOST_OS == linux