Android.mk revision 0022b7523bca3bde23c0f982384f83a39791e88b
1# 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# Common variables
18# ========================================================
19
20buffetCommonCppExtension := .cc
21buffetCommonCFlags := -DBUFFET_USE_WIFI_BOOTSTRAPPING -Wall -Werror \
22	-Wno-char-subscripts -Wno-missing-field-initializers \
23	-Wno-unused-function -Wno-unused-parameter \
24
25buffetCommonCppFlags := \
26	-Wno-deprecated-register \
27	-Wno-sign-compare \
28	-Wno-sign-promo \
29	-Wno-non-virtual-dtor \
30
31buffetCommonCIncludes := \
32	$(LOCAL_PATH)/.. \
33	$(LOCAL_PATH)/dbus-proxies \
34	external/cros/system_api \
35	external/gtest/include \
36
37buffetSharedLibraries := \
38	libapmanager-client \
39	libavahi-common \
40	libchrome \
41	libchrome-dbus \
42	libchromeos \
43	libchromeos-dbus \
44	libchromeos-http \
45	libchromeos-stream \
46	libdbus \
47	libshill-client \
48	libweave \
49	libwebserv \
50
51# buffet-common
52# ========================================================
53include $(CLEAR_VARS)
54LOCAL_MODULE := buffet-common
55LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension)
56LOCAL_CFLAGS := $(buffetCommonCFlags)
57LOCAL_CPPFLAGS := $(buffetCommonCppFlags)
58LOCAL_C_INCLUDES := $(buffetCommonCIncludes)
59LOCAL_SHARED_LIBRARIES := $(buffetSharedLibraries)
60LOCAL_STATIC_LIBRARIES :=
61LOCAL_RTTI_FLAG := -frtti
62LOCAL_CLANG := true
63LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
64
65LOCAL_SRC_FILES := \
66	buffet/ap_manager_client.cc \
67	buffet/avahi_mdns_client.cc \
68	buffet/buffet_config.cc \
69	buffet/dbus_command_dispatcher.cc \
70	buffet/dbus_command_proxy.cc \
71	buffet/dbus_conversion.cc \
72	buffet/dbus_constants.cc \
73	buffet/flouride_socket_bluetooth_client.cc \
74	buffet/http_transport_client.cc \
75	buffet/manager.cc \
76	buffet/shill_client.cc \
77	buffet/socket_stream.cc \
78	buffet/webserv_client.cc \
79	buffet/dbus_bindings/dbus-service-config.json \
80	buffet/dbus_bindings/com.android.Weave.Command.dbus-xml \
81	buffet/dbus_bindings/com.android.Weave.Manager.dbus-xml \
82
83include $(BUILD_STATIC_LIBRARY)
84
85# buffet
86# ========================================================
87include $(CLEAR_VARS)
88LOCAL_MODULE := weaved
89LOCAL_REQUIRED_MODULES := \
90	avahi-daemon \
91	weaved.json \
92	com.android.Weave.conf \
93	webservd \
94
95LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension)
96LOCAL_CFLAGS := $(buffetCommonCFlags)
97LOCAL_CPPFLAGS := $(buffetCommonCppFlags)
98LOCAL_C_INCLUDES := $(buffetCommonCIncludes)
99LOCAL_INIT_RC := weaved.rc
100LOCAL_SHARED_LIBRARIES := $(buffetSharedLibraries)
101LOCAL_WHOLE_STATIC_LIBRARIES := buffet-common
102LOCAL_CLANG := true
103LOCAL_RTTI_FLAG := -frtti
104
105LOCAL_SRC_FILES := \
106	buffet/main.cc
107
108include $(BUILD_EXECUTABLE)
109
110# libweaved-client
111# ========================================================
112include $(CLEAR_VARS)
113LOCAL_MODULE := libweaved-client
114LOCAL_DBUS_PROXY_PREFIX := buffet
115
116LOCAL_SRC_FILES := \
117	buffet/dbus_bindings/dbus-service-config.json \
118	buffet/dbus_bindings/com.android.Weave.Command.dbus-xml \
119	buffet/dbus_bindings/com.android.Weave.Manager.dbus-xml \
120
121include $(BUILD_SHARED_LIBRARY)
122
123# buffet_testrunner
124# ========================================================
125include $(CLEAR_VARS)
126LOCAL_MODULE := buffet_testrunner
127LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension)
128LOCAL_CFLAGS := $(buffetCommonCFlags)
129LOCAL_CPPFLAGS := $(buffetCommonCppFlags)
130LOCAL_C_INCLUDES := \
131	$(buffetCommonCIncludes) \
132	external/gmock/include \
133
134LOCAL_SHARED_LIBRARIES := \
135	$(buffetSharedLibraries) \
136
137LOCAL_STATIC_LIBRARIES := \
138	buffet-common \
139	libchrome_dbus_test_helpers \
140	libchrome_test_helpers \
141	libchromeos-test-helpers \
142	libgtest \
143	libgmock \
144	libweave-test \
145
146LOCAL_RTTI_FLAG := -frtti
147LOCAL_CLANG := true
148
149LOCAL_SRC_FILES := \
150	buffet/buffet_testrunner.cc \
151	buffet/dbus_command_proxy_unittest.cc \
152	buffet/dbus_conversion_unittest.cc \
153
154include $(BUILD_NATIVE_TEST)
155
156# Config files for /etc/weaved
157# ========================================================
158include $(CLEAR_VARS)
159LOCAL_MODULE := weaved.json
160LOCAL_MODULE_CLASS := ETC
161LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved/commands
162LOCAL_SRC_FILES := buffet/etc/weaved/commands/weaved.json
163include $(BUILD_PREBUILT)
164
165# DBus config files for /etc/dbus-1
166# ========================================================
167include $(CLEAR_VARS)
168LOCAL_MODULE := com.android.Weave.conf
169LOCAL_MODULE_CLASS := ETC
170LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/dbus-1
171LOCAL_SRC_FILES := buffet/etc/dbus-1/com.android.Weave.conf
172include $(BUILD_PREBUILT)
173