blob: 5aabb1c5655f3791a7c36cfc803929b978973ece [file] [log] [blame]
Peter Qiu7a420d32015-09-22 11:25:15 -07001#
2# Copyright (C) 2015 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17LOCAL_PATH := $(call my-dir)
18
19# Definitions applying to all targets. Be sure to $(eval) this last.
20define apmanager_common
21 LOCAL_CPP_EXTENSION := .cc
22 LOCAL_RTTI_FLAG := -frtti
23 LOCAL_CLANG := true
24 LOCAL_SHARED_LIBRARIES += \
25 libchrome \
26 libchrome-dbus \
27 libchromeos \
28 libchromeos-dbus \
29 libchromeos-minijail \
30 libdbus \
31 libfirewalld-client \
32 libminijail \
33 libshill-net
34 LOCAL_C_INCLUDES += \
35 $(LOCAL_PATH)/.. \
36 external/cros/system_api # D-Bus service constants.
37 LOCAL_CFLAGS += -Wall -Werror -Wno-unused-parameter
38 # -Wno-non-virtual-dtor: for generated D-Bus adaptors.
39 # -Wno-missing-field-initializers: for LAZY_INSTANCE_INITIALIZER.
40 LOCAL_CPPFLAGS += \
41 -Wno-sign-promo \
42 -Wno-non-virtual-dtor \
43 -Wno-missing-field-initializers
44endef
45
46ifeq ($(HOST_OS),linux)
47
48# === libapmanager-client (shared library) ===
49include $(CLEAR_VARS)
50LOCAL_MODULE := libapmanager-client
51LOCAL_SRC_FILES := \
52 dbus_bindings/dbus-service-config.json \
53 dbus_bindings/org.chromium.apmanager.Config.dbus-xml \
54 dbus_bindings/org.chromium.apmanager.Device.dbus-xml \
55 dbus_bindings/org.chromium.apmanager.Manager.dbus-xml \
56 dbus_bindings/org.chromium.apmanager.Service.dbus-xml
57LOCAL_DBUS_PROXY_PREFIX := apmanager
58include $(BUILD_SHARED_LIBRARY)
59
60# === libapmanager (static library) ===
61include $(CLEAR_VARS)
62LOCAL_MODULE := libapmanager
63LOCAL_SRC_FILES := \
64 dbus_bindings/dbus-service-config.json \
65 dbus_bindings/org.chromium.apmanager.Config.dbus-xml \
66 dbus_bindings/org.chromium.apmanager.Device.dbus-xml \
67 dbus_bindings/org.chromium.apmanager.Manager.dbus-xml \
68 dbus_bindings/org.chromium.apmanager.Service.dbus-xml \
69 config.cc \
70 daemon.cc \
71 device.cc \
72 device_info.cc \
73 dhcp_server.cc \
74 dhcp_server_factory.cc \
75 event_dispatcher.cc \
76 file_writer.cc \
77 firewall_manager.cc \
78 firewalld_dbus_proxy.cc \
79 hostapd_monitor.cc \
80 manager.cc \
81 process_factory.cc \
82 service.cc \
83 shill_manager.cc \
84 shill_stub_proxy.cc
85$(eval $(apmanager_common))
86include $(BUILD_STATIC_TEST_LIBRARY)
87
88# === apmanager ===
89include $(CLEAR_VARS)
90LOCAL_MODULE := apmanager
91#LOCAL_REQUIRED_MODULES := init.apmanager.rc
92LOCAL_SRC_FILES := \
93 main.cc
94LOCAL_STATIC_LIBRARIES := libapmanager
95LOCAL_C_INCLUDES += external/gtest/include
96$(eval $(apmanager_common))
97include $(BUILD_EXECUTABLE)
98
99# === init.apmanager.rc (brillo only) ===
100ifdef TARGET_COPY_OUT_INITRCD
101include $(CLEAR_VARS)
102LOCAL_MODULE := init.apmanager.rc
103LOCAL_SRC_FILES := $(LOCAL_MODULE)
104LOCAL_MODULE_CLASS := ETC
105LOCAL_MODULE_PATH := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_INITRCD)
106include $(BUILD_PREBUILT)
107endif
108
109# === unittest ===
110include $(CLEAR_VARS)
111LOCAL_MODULE := apmanager_unittest
112LOCAL_SRC_FILES := \
113 config_unittest.cc \
114 device_info_unittest.cc \
115 device_unittest.cc \
116 dhcp_server_unittest.cc \
117 hostapd_monitor_unittest.cc \
118 manager_unittest.cc \
119 mock_config.cc \
120 mock_device.cc \
121 mock_dhcp_server.cc \
122 mock_dhcp_server_factory.cc \
123 mock_event_dispatcher.cc \
124 mock_file_writer.cc \
125 mock_hostapd_monitor.cc \
126 mock_manager.cc \
127 mock_process_factory.cc \
128 mock_service.cc \
129 service_unittest.cc \
130 run_all_tests.cc
131LOCAL_STATIC_LIBRARIES := libapmanager libgmock
132$(eval $(apmanager_common))
133include $(BUILD_NATIVE_TEST)
134
135endif # HOST_OS == linux