# Copyright (C) 2015 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. LOCAL_PATH := $(call my-dir) # Common variables # ======================================================== buffetCommonCppExtension := .cc buffetCommonCFlags := -DBUFFET_USE_WIFI_BOOTSTRAPPING -Wall -Wextra -Werror buffetCommonCppFlags := buffetCommonCIncludes := \ $(LOCAL_PATH)/.. \ external/cros/system_api \ buffetSharedLibraries := \ libapmanager-client \ libavahi-common \ libavahi-client \ libbinder \ libbinderwrapper \ libbrillo \ libbrillo-binder \ libbrillo-dbus \ libbrillo-http \ libbrillo-stream \ libchrome \ libchrome-dbus \ libcutils \ libdbus \ libnativepower \ libshill-client \ libutils \ libweave \ libwebserv \ ifdef BRILLO buffetSharedLibraries += \ libkeymaster_messages \ libkeystore_binder \ endif # weave-common # Code shared between weaved daemon and libweaved client library # ======================================================== include $(CLEAR_VARS) LOCAL_MODULE := weave-common LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension) LOCAL_CFLAGS := $(buffetCommonCFlags) LOCAL_CPPFLAGS := $(buffetCommonCppFlags) LOCAL_C_INCLUDES := $(buffetCommonCIncludes) LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/brillo LOCAL_SHARED_LIBRARIES := $(buffetSharedLibraries) LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) LOCAL_CLANG := true LOCAL_SRC_FILES := \ brillo/android/weave/IWeaveClient.aidl \ brillo/android/weave/IWeaveCommand.aidl \ brillo/android/weave/IWeaveService.aidl \ brillo/android/weave/IWeaveServiceManager.aidl \ brillo/android/weave/IWeaveServiceManagerNotificationListener.aidl \ common/binder_constants.cc \ common/binder_utils.cc \ include $(BUILD_STATIC_LIBRARY) # weave-daemon-common # Code shared between weaved daemon and unit test runner. # This is essentially the implementation of weaved in a static library format. # ======================================================== include $(CLEAR_VARS) LOCAL_MODULE := weave-daemon-common LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension) LOCAL_CFLAGS := $(buffetCommonCFlags) LOCAL_CPPFLAGS := $(buffetCommonCppFlags) LOCAL_C_INCLUDES := $(buffetCommonCIncludes) LOCAL_SHARED_LIBRARIES := $(buffetSharedLibraries) LOCAL_STATIC_LIBRARIES := weave-common LOCAL_CLANG := true LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) LOCAL_SRC_FILES := \ brillo/weaved_system_properties.cc \ buffet/ap_manager_client.cc \ buffet/avahi_mdns_client.cc \ buffet/binder_command_proxy.cc \ buffet/binder_weave_service.cc \ buffet/buffet_config.cc \ buffet/flouride_socket_bluetooth_client.cc \ buffet/http_transport_client.cc \ buffet/manager.cc \ buffet/shill_client.cc \ buffet/socket_stream.cc \ buffet/webserv_client.cc \ ifdef BRILLO LOCAL_SRC_FILES += buffet/keystore_encryptor.cc else LOCAL_SRC_FILES += buffet/fake_encryptor.cc endif include $(BUILD_STATIC_LIBRARY) # weaved # The main binary of the weave daemon. # ======================================================== include $(CLEAR_VARS) LOCAL_MODULE := weaved LOCAL_REQUIRED_MODULES := \ avahi-daemon \ libweaved \ webservd \ LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension) LOCAL_CFLAGS := $(buffetCommonCFlags) LOCAL_CPPFLAGS := $(buffetCommonCppFlags) LOCAL_C_INCLUDES := $(buffetCommonCIncludes) LOCAL_INIT_RC := weaved.rc LOCAL_SHARED_LIBRARIES := $(buffetSharedLibraries) LOCAL_STATIC_LIBRARIES := weave-common \ LOCAL_WHOLE_STATIC_LIBRARIES := weave-daemon-common LOCAL_CLANG := true LOCAL_SRC_FILES := \ buffet/main.cc include $(BUILD_EXECUTABLE) # libweaved # The client library for the weave daemon. You should link to libweaved, # if you need to communicate with weaved. # ======================================================== include $(CLEAR_VARS) LOCAL_MODULE := libweaved LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension) LOCAL_CFLAGS := $(buffetCommonCFlags) LOCAL_CPPFLAGS := $(buffetCommonCppFlags) LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) LOCAL_SHARED_LIBRARIES := \ libbinder \ libbinderwrapper \ libbrillo \ libchrome \ libutils \ LOCAL_STATIC_LIBRARIES := weave-common LOCAL_CLANG := true LOCAL_SRC_FILES := \ libweaved/command.cc \ libweaved/service.cc \ include $(BUILD_SHARED_LIBRARY) # weaved_test # ======================================================== include $(CLEAR_VARS) LOCAL_MODULE := weaved_test LOCAL_CPP_EXTENSION := $(buffetCommonCppExtension) LOCAL_CFLAGS := $(buffetCommonCFlags) LOCAL_CPPFLAGS := $(buffetCommonCppFlags) LOCAL_C_INCLUDES := \ $(buffetCommonCIncludes) \ LOCAL_SHARED_LIBRARIES := \ $(buffetSharedLibraries) \ LOCAL_STATIC_LIBRARIES := \ libbrillo-test-helpers \ libchrome_test_helpers \ libgmock \ libweave-test \ weave-daemon-common \ weave-common \ LOCAL_CLANG := true LOCAL_SRC_FILES := \ buffet/binder_command_proxy_unittest.cc \ buffet/buffet_config_unittest.cc \ buffet/buffet_testrunner.cc \ include $(BUILD_NATIVE_TEST)