Android.mk revision 8e34636ec3a3ff33b041a30805b310e17ec3c8ef
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# 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 25buffetCommonCFlags := -DBUFFET_USE_WIFI_BOOTSTRAPPING -Wall -Werror \ 26 -Wno-char-subscripts -Wno-missing-field-initializers \ 27 -Wno-unused-function -Wno-unused-parameter \ 28 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 := \ 41 libchrome \ 42 libchrome-dbus \ 43 libchromeos \ 44 libchromeos-dbus \ 45 libchromeos-http \ 46 libchromeos-stream \ 47 libdbus \ 48 libweave \ 49 libwebserv \ 50 51ifdef BRILLO 52buffetSharedLibraries += libconnectivity 53endif 54 55# buffet-common 56# ======================================================== 57include $(CLEAR_VARS) 58LOCAL_MODULE := buffet-common 59LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension) 60LOCAL_CFLAGS := $(buffetCommonCFlags) 61LOCAL_CPPFLAGS := $(buffetCommonCppFlags) 62LOCAL_C_INCLUDES := $(buffetCommonCIncludes) 63LOCAL_SHARED_LIBRARIES := $(buffetSharedLibraries) 64LOCAL_STATIC_LIBRARIES := 65LOCAL_RTTI_FLAG := -frtti 66LOCAL_CLANG := true 67LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) 68 69LOCAL_SRC_FILES := \ 70 buffet/buffet_config.cc \ 71 buffet/dbus_command_dispatcher.cc \ 72 buffet/dbus_command_proxy.cc \ 73 buffet/dbus_conversion.cc \ 74 buffet/dbus_constants.cc \ 75 buffet/http_transport_client.cc \ 76 buffet/manager.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 83ifdef BRILLO 84 85LOCAL_SRC_FILES += \ 86 buffet/avahi_mdns_client.cc \ 87 buffet/brillo_network_client.cc \ 88 89else # BRILLO 90 91LOCAL_SRC_FILES += \ 92 buffet/stub_mdns_client.cc \ 93 buffet/stub_network_client.cc \ 94 95endif # BRILLO 96 97include $(BUILD_STATIC_LIBRARY) 98 99# buffet 100# ======================================================== 101include $(CLEAR_VARS) 102LOCAL_MODULE := weaved 103LOCAL_REQUIRED_MODULES := \ 104 base_state.defaults.json \ 105 base_state.schema.json \ 106 buffet.json \ 107 com.android.Weave.conf \ 108 gcd.json \ 109 webservd \ 110 111ifdef INITRC_TEMPLATE 112LOCAL_REQUIRED_MODULES += init.weaved.rc 113endif 114 115LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension) 116LOCAL_CFLAGS := $(buffetCommonCFlags) 117LOCAL_CPPFLAGS := $(buffetCommonCppFlags) 118LOCAL_C_INCLUDES := $(buffetCommonCIncludes) 119LOCAL_SHARED_LIBRARIES := $(buffetSharedLibraries) 120LOCAL_WHOLE_STATIC_LIBRARIES := buffet-common 121LOCAL_CLANG := true 122LOCAL_RTTI_FLAG := -frtti 123 124LOCAL_SRC_FILES := \ 125 buffet/main.cc 126 127include $(BUILD_EXECUTABLE) 128 129ifdef INITRC_TEMPLATE 130include $(CLEAR_VARS) 131LOCAL_MODULE := init.weaved.rc 132LOCAL_MODULE_CLASS := ETC 133LOCAL_MODULE_PATH := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_INITRCD) 134 135include $(BUILD_SYSTEM)/base_rules.mk 136 137.PHONY: $(LOCAL_BUILT_MODULE) 138$(LOCAL_BUILT_MODULE): $(INITRC_TEMPLATE) 139 $(call generate-initrc-file,weaved,,inet) 140endif 141 142# libweaved-client 143# ======================================================== 144include $(CLEAR_VARS) 145LOCAL_MODULE := libweaved-client 146LOCAL_DBUS_PROXY_PREFIX := buffet 147 148LOCAL_SRC_FILES := \ 149 buffet/dbus_bindings/dbus-service-config.json \ 150 buffet/dbus_bindings/com.android.Weave.Command.dbus.xml \ 151 buffet/dbus_bindings/com.android.Weave.Manager.dbus.xml \ 152 153include $(BUILD_SHARED_LIBRARY) 154 155# buffet_testrunner 156# ======================================================== 157include $(CLEAR_VARS) 158LOCAL_MODULE := buffet_testrunner 159LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension) 160LOCAL_CFLAGS := $(buffetCommonCFlags) 161LOCAL_CPPFLAGS := $(buffetCommonCppFlags) 162LOCAL_C_INCLUDES := \ 163 $(buffetCommonCIncludes) \ 164 external/gmock/include \ 165 166LOCAL_SHARED_LIBRARIES := \ 167 $(buffetSharedLibraries) \ 168 169LOCAL_STATIC_LIBRARIES := \ 170 buffet-common \ 171 libchrome_dbus_test_helpers \ 172 libchrome_test_helpers \ 173 libchromeos-test-helpers \ 174 libgtest \ 175 libgmock \ 176 libweave-test \ 177 178LOCAL_RTTI_FLAG := -frtti 179LOCAL_CLANG := true 180 181LOCAL_SRC_FILES := \ 182 buffet/buffet_testrunner.cc \ 183 buffet/dbus_command_proxy_unittest.cc \ 184 buffet/dbus_conversion_unittest.cc \ 185 186include $(BUILD_NATIVE_TEST) 187 188# weaved_client 189# ======================================================== 190include $(CLEAR_VARS) 191LOCAL_MODULE := weaved_client 192LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension) 193LOCAL_CFLAGS := $(buffetCommonCFlags) 194LOCAL_CPPFLAGS := $(buffetCommonCppFlags) 195LOCAL_C_INCLUDES := $(buffetCommonCIncludes) 196LOCAL_SHARED_LIBRARIES := $(buffetSharedLibraries) 197LOCAL_STATIC_LIBRARIES := 198LOCAL_DBUS_PROXY_PREFIX := buffet 199LOCAL_RTTI_FLAG := -frtti 200LOCAL_CLANG := true 201 202LOCAL_SRC_FILES := \ 203 buffet/buffet_client.cc \ 204 buffet/dbus_bindings/dbus-service-config.json \ 205 buffet/dbus_bindings/com.android.Weave.Command.dbus.xml \ 206 buffet/dbus_bindings/com.android.Weave.Manager.dbus.xml \ 207 208include $(BUILD_EXECUTABLE) 209 210# Config files for /etc/weaved 211# ======================================================== 212include $(CLEAR_VARS) 213LOCAL_MODULE := base_state.defaults.json 214LOCAL_MODULE_CLASS := ETC 215LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved 216LOCAL_SRC_FILES := buffet/etc/weaved/base_state.defaults.json 217include $(BUILD_PREBUILT) 218 219include $(CLEAR_VARS) 220LOCAL_MODULE := base_state.schema.json 221LOCAL_MODULE_CLASS := ETC 222LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved 223LOCAL_SRC_FILES := buffet/etc/weaved/base_state.schema.json 224include $(BUILD_PREBUILT) 225 226include $(CLEAR_VARS) 227LOCAL_MODULE := gcd.json 228LOCAL_MODULE_CLASS := ETC 229LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved 230LOCAL_SRC_FILES := buffet/etc/weaved/gcd.json 231include $(BUILD_PREBUILT) 232 233include $(CLEAR_VARS) 234LOCAL_MODULE := buffet.json 235LOCAL_MODULE_CLASS := ETC 236LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved/commands 237LOCAL_SRC_FILES := buffet/etc/weaved/commands/buffet.json 238include $(BUILD_PREBUILT) 239 240# DBus config files for /etc/dbus-1 241# ======================================================== 242include $(CLEAR_VARS) 243LOCAL_MODULE := com.android.Weave.conf 244LOCAL_MODULE_CLASS := ETC 245LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/dbus-1 246LOCAL_SRC_FILES := buffet/etc/dbus-1/com.android.Weave.conf 247include $(BUILD_PREBUILT) 248 249endif # HOST_OS == linux 250