blob: c08552471c8fc6ee283c2ff303bc2a30cbf4d83c [file] [log] [blame]
Thieu Le3426c8f2012-01-11 17:35:11 -08001# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
Chris Masone96832c32011-05-03 12:23:18 -07002# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
Darin Petkovd9050bb2012-09-26 16:02:52 +02005AR ?= ar
Darin Petkove6ca3202012-10-19 14:49:56 +02006CC ?= gcc
Chris Masone96832c32011-05-03 12:23:18 -07007CXX ?= g++
Darin Petkov374b5ee2012-11-06 11:20:04 +01008CFLAGS += \
9 -Wall \
10 -Werror \
11 -Wextra \
12 -Wno-missing-field-initializers \
13 -Wno-unused-parameter \
14 -Wno-unused-result \
15 -Wuninitialized
mukesh agrawalf60e4062011-05-27 13:13:41 -070016CXXFLAGS ?= -fno-strict-aliasing
mukesh agrawaled8a45e2013-03-27 18:54:28 -070017
mukesh agrawal42457712013-04-05 16:05:39 -070018# -std=gnu++11 is c++11 with GNU extensions. In particular, typeof is allowed.
mukesh agrawaled8a45e2013-03-27 18:54:28 -070019CXXFLAGS += $(CFLAGS) \
mukesh agrawal42457712013-04-05 16:05:39 -070020 -std=gnu++11 \
21 -Woverloaded-virtual
Darin Petkov04d46b42011-08-31 14:17:34 -070022CXXFLAGS += $(EXTRA_CXXFLAGS)
Chris Masone96832c32011-05-03 12:23:18 -070023CPPFLAGS ?= -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
Chris Masone96832c32011-05-03 12:23:18 -070024PKG_CONFIG ?= pkg-config
Chris Masone14de6e52011-05-09 09:20:59 -070025DBUSXX_XML2CPP = dbusxx-xml2cpp
Daniel Erat0818cca2012-12-14 10:16:21 -080026PROTOC ?= protoc
Chris Masone96832c32011-05-03 12:23:18 -070027
Darin Petkov5236a8e2012-02-21 10:26:55 +010028BUILDDIR = build
Daniel Erat0818cca2012-12-14 10:16:21 -080029VPATH = $(BUILDDIR)
Darin Petkov5236a8e2012-02-21 10:26:55 +010030
Paul Stewart291a4732012-03-14 19:19:02 -070031LIBDIR = /usr/lib
Darin Petkov86654d32012-10-08 15:32:34 +020032SHIMDIR = $(LIBDIR)/shill/shims
Paul Stewart78af94c2013-04-17 16:02:06 -070033RUNDIR = /var/run/shill
34CPPFLAGS += -DSHIMDIR=\"$(SHIMDIR)\" -DRUNDIR=\"$(RUNDIR)\"
Wade Guthrie0d438532012-05-18 14:18:50 -070035
Paul Stewart5ad16062013-02-21 18:10:48 -080036BASE_VER ?= 180609
Darin Petkovd9050bb2012-09-26 16:02:52 +020037COMMON_PC_DEPS = libchrome-$(BASE_VER) libchromeos-$(BASE_VER)
Christopher Wiley49e247a2012-11-07 11:24:59 -080038SHILL_PC_DEPS = \
39 $(COMMON_PC_DEPS) \
40 dbus-c++-1 \
41 gio-2.0 \
42 glib-2.0 \
Christopher Wileyefd521f2012-11-07 17:32:46 -080043 libnl-3.0 \
44 libnl-genl-3.0
Christopher Wiley0d05c112013-03-19 17:49:38 -070045CRYPTO_UTIL_PC_DEPS = \
46 $(COMMON_PC_DEPS) \
47 protobuf-lite \
48 openssl
Darin Petkovfac01f02012-12-06 12:44:07 +010049NET_DIAGS_UPLOAD_PC_DEPS = $(COMMON_PC_DEPS)
Paul Stewart1c9a5662013-02-12 09:41:33 -080050NETFILTER_QUEUE_HELPER_PC_DEPS = \
51 $(COMMON_PC_DEPS) \
52 libmnl \
53 libnetfilter_queue \
54 libnfnetlink
Darin Petkovd9050bb2012-09-26 16:02:52 +020055NSS_GET_CERT_PC_DEPS = $(COMMON_PC_DEPS) nss
56INCLUDE_DIRS = \
57 -iquote.. \
58 -iquote $(BUILDDIR) \
Darin Petkov804e8d02012-10-10 16:44:36 +020059 $(shell $(PKG_CONFIG) --cflags \
Christopher Wiley0d05c112013-03-19 17:49:38 -070060 $(CRYPTO_UTIL_PC_DEPS) \
Darin Petkovfac01f02012-12-06 12:44:07 +010061 $(NET_DIAGS_UPLOAD_PC_DEPS) \
Paul Stewart1c9a5662013-02-12 09:41:33 -080062 $(NETFILTER_QUEUE_HELPER_PC_DEPS) \
Darin Petkov804e8d02012-10-10 16:44:36 +020063 $(NSS_GET_CERT_PC_DEPS) \
Darin Petkov804e8d02012-10-10 16:44:36 +020064 $(SHILL_PC_DEPS))
Darin Petkovd9050bb2012-09-26 16:02:52 +020065SHILL_LIBS = \
66 -lbootstat \
67 -lcares \
Darin Petkovd9050bb2012-09-26 16:02:52 +020068 -lmetrics \
69 -lminijail \
Daniel Erat0818cca2012-12-14 10:16:21 -080070 -lprotobuf-lite \
Chris Masonee016eb22013-03-09 16:45:05 -080071 -lrt \
Darin Petkovd9050bb2012-09-26 16:02:52 +020072 $(shell $(PKG_CONFIG) --libs $(SHILL_PC_DEPS))
Christopher Wiley0d05c112013-03-19 17:49:38 -070073CRYPTO_UTIL_LIBS = \
74 $(shell $(PKG_CONFIG) --libs $(CRYPTO_UTIL_PC_DEPS))
Darin Petkovfac01f02012-12-06 12:44:07 +010075NET_DIAGS_UPLOAD_LIBS = \
76 $(shell $(PKG_CONFIG) --libs $(NET_DIAGS_UPLOAD_PC_DEPS))
Paul Stewart1c9a5662013-02-12 09:41:33 -080077NETFILTER_QUEUE_HELPER_LIBS = \
78 $(shell $(PKG_CONFIG) --libs $(NETFILTER_QUEUE_HELPER_PC_DEPS))
Darin Petkovd9050bb2012-09-26 16:02:52 +020079NSS_GET_CERT_LIBS = $(shell $(PKG_CONFIG) --libs $(NSS_GET_CERT_PC_DEPS))
Chris Masone96832c32011-05-03 12:23:18 -070080
Darin Petkov4a09b6b2011-07-19 12:52:06 -070081DBUS_BINDINGS_DIR = dbus_bindings
Darin Petkov5236a8e2012-02-21 10:26:55 +010082BUILD_DBUS_BINDINGS_DIR = $(BUILDDIR)/shill/$(DBUS_BINDINGS_DIR)
Darin Petkov804e8d02012-10-10 16:44:36 +020083BUILD_DBUS_BINDINGS_SHIMS_DIR = $(BUILD_DBUS_BINDINGS_DIR)/shims
Darin Petkov5236a8e2012-02-21 10:26:55 +010084
Daniel Erat0818cca2012-12-14 10:16:21 -080085BUILD_PROTO_BINDINGS_DIR = $(BUILDDIR)/shill/proto_bindings
86
Darin Petkovd9050bb2012-09-26 16:02:52 +020087BUILD_SHIMS_DIR = $(BUILDDIR)/shims
88
89_CREATE_BUILDDIR := $(shell mkdir -p \
90 $(BUILDDIR) \
91 $(BUILD_DBUS_BINDINGS_DIR) \
Darin Petkov804e8d02012-10-10 16:44:36 +020092 $(BUILD_DBUS_BINDINGS_SHIMS_DIR) \
Daniel Erat0818cca2012-12-14 10:16:21 -080093 $(BUILD_PROTO_BINDINGS_DIR)/power_manager \
Christopher Wiley5a3f23a2013-02-20 17:29:57 -080094 $(BUILD_PROTO_BINDINGS_DIR)/shims/protos \
Darin Petkovd9050bb2012-09-26 16:02:52 +020095 $(BUILD_SHIMS_DIR))
Darin Petkov4a09b6b2011-07-19 12:52:06 -070096
Elly Jones5211a4c2012-01-26 19:25:20 -050097DBUS_ADAPTOR_HEADERS :=
Chris Masone14de6e52011-05-09 09:20:59 -070098
Darin Petkov567a7d02011-05-26 17:15:34 -070099DBUS_PROXY_HEADERS = \
Darin Petkov18fb2f72012-06-14 09:09:34 +0200100 dbus-properties.h \
101 dbus-service.h \
Darin Petkov567a7d02011-05-26 17:15:34 -0700102 dhcpcd.h \
Darin Petkov394b7d42011-11-03 15:48:02 +0100103 power_manager.h \
Darin Petkov804e8d02012-10-10 16:44:36 +0200104 shims/flimflam-task.h \
Darin Petkov567a7d02011-05-26 17:15:34 -0700105 supplicant-bss.h \
106 supplicant-interface.h \
107 supplicant-network.h \
mukesh agrawalab87ea42011-05-18 11:44:49 -0700108 supplicant-process.h
Darin Petkov567a7d02011-05-26 17:15:34 -0700109
Darin Petkovf5f61e02011-07-29 11:35:40 -0700110# Generates rules for copying SYSROOT XMLs locally and updates the proxy header
111# dependencies.
112DBUS_BINDINGS_XML_SYSROOT = \
Darin Petkov096b3472012-05-15 10:26:22 +0200113 org.chromium.WiMaxManager>wimax_manager \
114 org.chromium.WiMaxManager.Device>wimax_manager-device \
Darin Petkovbd9f33a2013-03-20 10:38:07 +0100115 org.chromium.WiMaxManager.Network>wimax_manager-network
116
117# Rename local XML files with the names required by DBus to XML files with the
118# names required by the style guide, which will then be turned into generated
119# headers later.
120DBUS_BINDINGS_XML_LOCAL = \
121 org.chromium.flimflam.Device>flimflam-device \
122 org.chromium.flimflam.IPConfig>flimflam-ipconfig \
123 org.chromium.flimflam.Manager>flimflam-manager \
124 org.chromium.flimflam.Profile>flimflam-profile \
125 org.chromium.flimflam.Service>flimflam-service \
126 org.chromium.flimflam.Task>flimflam-task
127
128ifneq ($(SHILL_CELLULAR), 0)
129DBUS_PROXY_HEADERS += \
130 dbus-objectmanager.h \
131 modem-gobi.h
132
133DBUS_BINDINGS_XML_SYSROOT += \
Darin Petkovf5f61e02011-07-29 11:35:40 -0700134 org.freedesktop.ModemManager>modem_manager \
Darin Petkov1ec741c2011-08-02 10:45:27 -0700135 org.freedesktop.ModemManager.Modem>modem \
Darin Petkovf5f61e02011-07-29 11:35:40 -0700136 org.freedesktop.ModemManager.Modem.Cdma>modem-cdma \
137 org.freedesktop.ModemManager.Modem.Gsm.Card>modem-gsm-card \
138 org.freedesktop.ModemManager.Modem.Gsm.Network>modem-gsm-network \
Jason Glasgowee1081c2012-03-06 15:14:53 -0500139 org.freedesktop.ModemManager.Modem.Simple>modem-simple \
Arman Uguray6e5639f2012-11-15 20:30:19 -0800140 org.freedesktop.ModemManager1.Bearer>mm1-bearer \
Jason Glasgowee1081c2012-03-06 15:14:53 -0500141 org.freedesktop.ModemManager1.Modem>mm1-modem \
Arman Uguray2c39fab2012-12-12 16:56:34 -0800142 org.freedesktop.ModemManager1.Modem.Location>mm1-modem-location \
Jason Glasgowee1081c2012-03-06 15:14:53 -0500143 org.freedesktop.ModemManager1.Modem.Modem3gpp>mm1-modem-modem3gpp \
144 org.freedesktop.ModemManager1.Modem.ModemCdma>mm1-modem-modemcdma \
Jason Glasgow74f5ef22012-03-29 16:15:04 -0400145 org.freedesktop.ModemManager1.Modem.Simple>mm1-modem-simple \
Arman Uguray618af2b2012-12-11 19:20:42 -0800146 org.freedesktop.ModemManager1.Modem.Time>mm1-modem-time \
Darin Petkov096b3472012-05-15 10:26:22 +0200147 org.freedesktop.ModemManager1.Sim>mm1-sim
Darin Petkovbd9f33a2013-03-20 10:38:07 +0100148endif # SHILL_CELLULAR
Elly Jones5211a4c2012-01-26 19:25:20 -0500149
Darin Petkovf5f61e02011-07-29 11:35:40 -0700150define ADD_BINDING
151$(eval _SOURCE = $(word 1,$(subst >, ,$(1))))
152$(eval _TARGET = $(word 2,$(subst >, ,$(1))))
Darin Petkovf5f61e02011-07-29 11:35:40 -0700153DBUS_PROXY_HEADERS += $(_TARGET).h
Darin Petkov5236a8e2012-02-21 10:26:55 +0100154$(BUILD_DBUS_BINDINGS_DIR)/$(_TARGET).xml: \
Darin Petkovf5f61e02011-07-29 11:35:40 -0700155 $(SYSROOT)/usr/share/dbus-1/interfaces/$(_SOURCE).xml
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700156 echo " CP " $$@
157 cp $$< $$@
Darin Petkovf5f61e02011-07-29 11:35:40 -0700158endef
159
Elly Jones5211a4c2012-01-26 19:25:20 -0500160define ADD_LOCAL_BINDING
161$(eval _SOURCE = $(word 1,$(subst >, ,$(1))))
162$(eval _TARGET = $(word 2,$(subst >, ,$(1))))
Elly Jones5211a4c2012-01-26 19:25:20 -0500163DBUS_ADAPTOR_HEADERS += $(_TARGET).h
Darin Petkov5236a8e2012-02-21 10:26:55 +0100164$(BUILD_DBUS_BINDINGS_DIR)/$(_TARGET).xml: $(DBUS_BINDINGS_DIR)/$(_SOURCE).xml
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700165 echo " CP " $$@
Elly Jones5211a4c2012-01-26 19:25:20 -0500166 cp $$< $$@
167endef
168
Darin Petkovf5f61e02011-07-29 11:35:40 -0700169$(foreach b,$(DBUS_BINDINGS_XML_SYSROOT),$(eval $(call ADD_BINDING,$(b))))
Elly Jones5211a4c2012-01-26 19:25:20 -0500170$(foreach b,$(DBUS_BINDINGS_XML_LOCAL),$(eval $(call ADD_LOCAL_BINDING,$(b))))
Darin Petkovf5f61e02011-07-29 11:35:40 -0700171
Darin Petkov4a09b6b2011-07-19 12:52:06 -0700172DBUS_ADAPTOR_BINDINGS = \
Darin Petkov5236a8e2012-02-21 10:26:55 +0100173 $(addprefix $(BUILD_DBUS_BINDINGS_DIR)/, $(DBUS_ADAPTOR_HEADERS))
174DBUS_PROXY_BINDINGS = \
175 $(addprefix $(BUILD_DBUS_BINDINGS_DIR)/, $(DBUS_PROXY_HEADERS))
Chris Masone96832c32011-05-03 12:23:18 -0700176
Daniel Erat0818cca2012-12-14 10:16:21 -0800177SYSTEM_API_PROTO_PATH = $(SYSROOT)/usr/include/chromeos/dbus
Christopher Wiley5a3f23a2013-02-20 17:29:57 -0800178SYSTEM_PROTO_BINDINGS_OBJS = $(addprefix $(BUILD_PROTO_BINDINGS_DIR)/, \
Daniel Erat0818cca2012-12-14 10:16:21 -0800179 power_manager/suspend.pb.o \
180 )
Christopher Wiley0d05c112013-03-19 17:49:38 -0700181CRYPTO_UTIL_PROTO_BINDINGS_OBJS = $(addprefix $(BUILD_PROTO_BINDINGS_DIR)/, \
Christopher Wiley5a3f23a2013-02-20 17:29:57 -0800182 shims/protos/crypto_util.pb.o \
183 )
Christopher Wiley0d05c112013-03-19 17:49:38 -0700184PROTO_BINDINGS_OBJS = \
185 $(SYSTEM_PROTO_BINDINGS_OBJS) \
186 $(CRYPTO_UTIL_PROTO_BINDINGS_OBJS)
187
Daniel Erat0818cca2012-12-14 10:16:21 -0800188PROTO_BINDINGS_H = $(PROTO_BINDINGS_OBJS:.o=.h)
Christopher Wiley5a3f23a2013-02-20 17:29:57 -0800189SYSTEM_PROTO_BINDINGS_CC = $(SYSTEM_PROTO_BINDINGS_OBJS:.o=.cc)
Christopher Wiley0d05c112013-03-19 17:49:38 -0700190SHIM_PROTO_BINDINGS_CC = $(CRYPTO_UTIL_PROTO_BINDINGS_OBJS:.o=.cc)
Daniel Erat0818cca2012-12-14 10:16:21 -0800191
Darin Petkovd9050bb2012-09-26 16:02:52 +0200192SHILL_LIB = $(BUILDDIR)/shill.a
Darin Petkov5236a8e2012-02-21 10:26:55 +0100193SHILL_OBJS = $(addprefix $(BUILDDIR)/, \
Paul Stewartac1328e2012-07-20 11:55:40 -0700194 arp_client.o \
Paul Stewart91a5aac2012-07-20 11:55:40 -0700195 arp_packet.o \
Paul Stewartf65320c2011-10-13 14:34:52 -0700196 async_connection.o \
repo sync90ee0fa2012-12-18 10:08:08 -0800197 attribute_list.o \
Paul Stewart3ecfa2b2011-07-15 10:47:42 -0700198 byte_string.o \
Wade Guthrie5020b572012-10-12 15:51:14 -0700199 callback80211_metrics.o \
Paul Stewart5baebb72013-03-14 11:43:29 -0700200 certificate_file.o \
Paul Stewartdd60e452011-08-08 11:38:36 -0700201 connection.o \
Prathmesh Prabhu40daa012013-04-03 10:35:03 -0700202 connection_health_checker.o \
Ben Chan0364fb62013-04-12 13:04:24 -0700203 connection_info.o \
Ben Chanbac5bc82013-04-12 17:15:43 -0700204 connection_info_reader.o \
Wade Guthrief162f8b2013-02-27 14:13:55 -0800205 control_netlink_attribute.o \
Darin Petkov823c47e2011-06-27 16:15:35 -0700206 crypto_des_cbc.o \
Darin Petkov86964e02011-06-29 13:49:28 -0700207 crypto_provider.o \
Darin Petkov877642b2011-06-27 13:37:22 -0700208 crypto_rot47.o \
Chris Masoned0ceb8c2011-06-02 10:05:39 -0700209 dbus_adaptor.o \
Chris Masone96832c32011-05-03 12:23:18 -0700210 dbus_control.o \
Darin Petkov002c58e2012-06-19 02:56:05 +0200211 dbus_manager.o \
Darin Petkove0a312e2011-07-20 13:45:28 -0700212 dbus_properties.o \
Darin Petkov5c97ac52011-07-19 16:30:49 -0700213 dbus_properties_proxy.o \
Darin Petkov18fb2f72012-06-14 09:09:34 +0200214 dbus_service_proxy.o \
Chris Masone88cbd5f2011-07-03 14:30:04 -0700215 default_profile.o \
Christopher Wiley5a3f23a2013-02-20 17:29:57 -0800216 crypto_util_proxy.o \
Chris Masone96832c32011-05-03 12:23:18 -0700217 device.o \
Chris Masoned7732e42011-05-20 11:08:56 -0700218 device_dbus_adaptor.o \
Paul Stewart0af98bf2011-05-10 17:38:08 -0700219 device_info.o \
Darin Petkov50308cd2011-06-01 18:25:07 -0700220 dhcp_config.o \
221 dhcp_provider.o \
222 dhcpcd_proxy.o \
Darin Petkovf0136cd2012-11-07 16:18:02 +0100223 diagnostics_reporter.o \
Paul Stewartc2350ee2011-10-19 12:28:40 -0700224 dns_client.o \
Prathmesh Prabhu3e452f82013-04-10 16:31:44 -0700225 dns_client_factory.o \
Paul Stewartc43cbbe2013-04-11 06:29:30 -0700226 eap_credentials.o \
Paul Stewartac802ac2013-04-02 15:45:24 -0700227 eap_listener.o \
mukesh agrawalb54601c2011-06-07 17:39:22 -0700228 endpoint.o \
Chris Masone7aa5f902011-07-11 11:13:35 -0700229 ephemeral_profile.o \
Chris Masone8fe2c7e2011-06-09 15:51:19 -0700230 error.o \
Paul Stewartb50f0b92011-05-16 16:31:42 -0700231 ethernet.o \
Paul Stewart35eff132013-04-12 12:08:40 -0700232 ethernet_eap_provider.o \
233 ethernet_eap_service.o \
Paul Stewartf1ce5d22011-05-19 13:10:20 -0700234 ethernet_service.o \
mukesh agrawalae30e9e2013-05-28 14:09:16 -0700235 external_task.o \
Paul Stewart26b327e2011-10-19 11:38:09 -0700236 event_dispatcher.o \
Christopher Wileya59f7b92013-02-26 15:07:02 -0800237 file_io.o \
Arman Ugurayf4c61812013-01-10 18:58:39 -0800238 file_reader.o \
Wade Guthrie0ae4b8e2013-04-10 16:49:15 -0700239 generic_netlink_message.o \
Gaurav Shah6d2c72d2012-10-16 16:30:44 -0700240 geolocation_info.o \
Darin Petkovf7897bc2011-06-08 17:13:36 -0700241 glib.o \
Paul Stewartf0aae102011-10-19 12:11:44 -0700242 glib_io_ready_handler.o \
243 glib_io_input_handler.o \
Gary Morainf80ef062012-05-16 14:57:04 -0700244 hook_table.o \
Paul Stewartf65320c2011-10-13 14:34:52 -0700245 http_proxy.o \
Paul Stewart188a84a2012-01-20 16:28:15 -0800246 http_request.o \
Paul Stewart95133562012-01-18 18:36:57 -0800247 http_url.o \
Paul Stewart1d18e8c2011-07-15 11:00:31 -0700248 ip_address.o \
Prathmesh Prabhuba99b592013-04-17 15:13:14 -0700249 ip_address_store.o \
Darin Petkove02b3ca2011-05-31 16:00:44 -0700250 ipconfig.o \
Chris Masonec6c6c132011-06-30 11:29:52 -0700251 ipconfig_dbus_adaptor.o \
Darin Petkov083047b2011-06-23 20:42:48 -0700252 key_file_store.o \
mukesh agrawal7a4e4002011-09-06 11:26:05 -0700253 key_value_store.o \
Paul Stewart3f43f432012-07-16 12:12:45 -0700254 link_monitor.o \
Chris Masone96832c32011-05-03 12:23:18 -0700255 manager.o \
Chris Masoned7732e42011-05-20 11:08:56 -0700256 manager_dbus_adaptor.o \
Christopher Wiley5781aa42012-07-30 14:42:23 -0700257 memory_log.o \
Thieu Le48e6d6d2011-12-06 00:40:27 +0000258 metrics.o \
Jorge Lucangeli Obesad43cc62012-04-11 16:25:43 -0700259 minijail.o \
Darin Petkov887f2982011-07-14 16:10:17 -0700260 modem_info.o \
Wade Guthrief162f8b2013-02-27 14:13:55 -0800261 netlink_attribute.o \
Wade Guthriebb9fca22013-04-10 17:21:42 -0700262 netlink_manager.o \
Wade Guthrie0ae4b8e2013-04-10 16:49:15 -0700263 netlink_message.o \
264 netlink_socket.o \
Wade Guthrie16196242012-11-20 15:53:52 -0800265 nl80211_attribute.o \
repo syncdc085c82012-12-28 08:54:41 -0800266 nl80211_message.o \
Darin Petkov3c5e4dc2012-04-02 14:44:27 +0200267 nss.o \
Arman Uguray41cc6342013-03-29 16:34:39 -0700268 pending_activation_store.o \
Paul Stewarte6927402012-01-23 16:11:30 -0800269 portal_detector.o \
Gary Morain43bc6272012-01-30 14:01:15 -0800270 power_manager.o \
Darin Petkov394b7d42011-11-03 15:48:02 +0100271 power_manager_proxy.o \
mukesh agrawal9da07772013-05-15 14:15:17 -0700272 ppp_device.o \
mukesh agrawalf407d592013-07-31 11:37:57 -0700273 ppp_device_factory.o \
Darin Petkov5a850472012-06-06 15:44:24 +0200274 process_killer.o \
Chris Masone52cd19b2011-06-29 17:23:04 -0700275 profile.o \
276 profile_dbus_adaptor.o \
Paul Stewart0756db92012-01-27 08:34:47 -0800277 profile_dbus_property_exporter.o \
Chris Masoneb925cc82011-06-22 15:39:57 -0700278 property_store.o \
Darin Petkovc90fe522011-07-15 13:59:47 -0700279 proxy_factory.o \
Paul Stewart75e89d22011-08-01 10:00:02 -0700280 routing_table.o \
Paul Stewartb6063942011-08-05 10:17:29 -0700281 resolver.o \
mukesh agrawal46c27cc2013-07-10 16:39:10 -0700282 result_aggregator.o \
Eric Shienbrood3e20a232012-02-16 11:35:56 -0500283 rpc_task.o \
284 rpc_task_dbus_adaptor.o \
Paul Stewartf1ce5d22011-05-19 13:10:20 -0700285 rtnl_handler.o \
286 rtnl_listener.o \
Paul Stewartdd7df792011-07-15 11:09:50 -0700287 rtnl_message.o \
Wade Guthriea60a11c2013-04-12 17:47:34 -0700288 scan_session.o \
Ben Chanbc49ac72012-04-10 19:59:45 -0700289 scope_logger.o \
Chris Masone96832c32011-05-03 12:23:18 -0700290 service.o \
Chris Masoned7732e42011-05-20 11:08:56 -0700291 service_dbus_adaptor.o \
Paul Stewartc2350ee2011-10-19 12:28:40 -0700292 shill_ares.o \
Chris Masone96832c32011-05-03 12:23:18 -0700293 shill_config.o \
294 shill_daemon.o \
Chris Masoneb9c00592011-10-06 13:10:39 -0700295 shill_test_config.o \
Paul Stewartc2350ee2011-10-19 12:28:40 -0700296 shill_time.o \
Ben Chan086d9802013-04-02 16:39:48 -0700297 socket_info.o \
Ben Chan3e4bf162013-04-03 18:14:51 -0700298 socket_info_reader.o \
Darin Petkov633ac6f2011-07-08 13:56:13 -0700299 sockets.o \
Paul Stewart1062d9d2012-04-27 10:42:27 -0700300 static_ip_parameters.o \
mukesh agrawalb20776f2012-02-10 16:00:36 -0800301 supplicant_bss_proxy.o \
Paul Stewart735eab52013-03-29 09:19:23 -0700302 supplicant_eap_state_handler.o \
mukesh agrawalaf571952011-07-14 14:31:12 -0700303 supplicant_interface_proxy.o \
Paul Stewart835934a2012-12-06 19:27:09 -0800304 supplicant_network_proxy.o \
mukesh agrawalaf571952011-07-14 14:31:12 -0700305 supplicant_process_proxy.o \
Paul Stewartfdd16072011-09-16 12:41:35 -0700306 technology.o \
Ben Chanb061f892013-02-27 17:46:55 -0800307 traffic_monitor.o \
mukesh agrawal93a29ed2012-04-17 16:13:01 -0700308 virtio_ethernet.o \
mukesh agrawal9da07772013-05-15 14:15:17 -0700309 virtual_device.o \
Darin Petkovb451d6e2012-04-23 11:56:41 +0200310 vpn_driver.o \
Darin Petkov33af05c2012-02-28 10:10:30 +0100311 vpn_provider.o \
312 vpn_service.o \
mukesh agrawalb54601c2011-06-07 17:39:22 -0700313 wifi.o \
314 wifi_endpoint.o \
Paul Stewart21f2aae2013-01-17 17:10:08 -0800315 wifi_provider.o \
mukesh agrawal6e277772011-09-29 15:04:23 -0700316 wifi_service.o \
Ben Chan99c8a4d2012-05-01 08:11:53 -0700317 wimax.o \
Darin Petkov096b3472012-05-15 10:26:22 +0200318 wimax_device_proxy.o \
319 wimax_manager_proxy.o \
Darin Petkov9893d9c2012-05-17 15:27:31 -0700320 wimax_network_proxy.o \
Darin Petkovb72b62e2012-05-15 16:55:36 +0200321 wimax_provider.o \
Ben Chan99c8a4d2012-05-01 08:11:53 -0700322 wimax_service.o \
Darin Petkov5236a8e2012-02-21 10:26:55 +0100323 wpa_supplicant.o \
Daniel Erat0818cca2012-12-14 10:16:21 -0800324 ) \
325 $(PROTO_BINDINGS_OBJS)
Chris Masone96832c32011-05-03 12:23:18 -0700326
327SHILL_BIN = shill
mukesh agrawal837bb562011-11-23 01:06:01 +0000328# Broken out separately, because (unlike other SHILL_OBJS), it
329# shouldn't be linked into TEST_BIN.
Darin Petkov5236a8e2012-02-21 10:26:55 +0100330SHILL_MAIN_OBJ = $(BUILDDIR)/shill_main.o
Chris Masone96832c32011-05-03 12:23:18 -0700331
332TEST_BIN = shill_unittest
Darin Petkov5236a8e2012-02-21 10:26:55 +0100333TEST_OBJS = $(addprefix $(BUILDDIR)/, \
Paul Stewartac1328e2012-07-20 11:55:40 -0700334 arp_client_unittest.o \
Paul Stewart91a5aac2012-07-20 11:55:40 -0700335 arp_packet_unittest.o \
Paul Stewartf65320c2011-10-13 14:34:52 -0700336 async_connection_unittest.o \
Paul Stewart3ecfa2b2011-07-15 10:47:42 -0700337 byte_string_unittest.o \
Arman Uguray72fab6a2013-01-10 19:32:42 -0800338 cellular_capability_cdma_unittest.o \
339 cellular_capability_classic_unittest.o \
340 cellular_capability_gsm_unittest.o \
341 cellular_capability_universal_unittest.o \
342 cellular_capability_universal_cdma_unittest.o \
343 cellular_operator_info_unittest.o \
344 cellular_service_unittest.o \
345 cellular_unittest.o \
Paul Stewart5baebb72013-03-14 11:43:29 -0700346 certificate_file_unittest.o \
Darin Petkov823c47e2011-06-27 16:15:35 -0700347 crypto_des_cbc_unittest.o \
Darin Petkov86964e02011-06-29 13:49:28 -0700348 crypto_provider_unittest.o \
Darin Petkov877642b2011-06-27 13:37:22 -0700349 crypto_rot47_unittest.o \
Christopher Wiley5a3f23a2013-02-20 17:29:57 -0800350 crypto_util_proxy_unittest.o \
Prathmesh Prabhu40daa012013-04-03 10:35:03 -0700351 connection_health_checker_unittest.o \
Ben Chanbac5bc82013-04-12 17:15:43 -0700352 connection_info_reader_unittest.o \
Ben Chan0364fb62013-04-12 13:04:24 -0700353 connection_info_unittest.o \
Prathmesh Prabhuba99b592013-04-17 15:13:14 -0700354 connection_unittest.o \
Chris Masoned0ceb8c2011-06-02 10:05:39 -0700355 dbus_adaptor_unittest.o \
Darin Petkov002c58e2012-06-19 02:56:05 +0200356 dbus_manager_unittest.o \
Darin Petkove0a312e2011-07-20 13:45:28 -0700357 dbus_properties_unittest.o \
Gaurav Shah3df47b72013-03-22 15:40:41 -0700358 dbus_variant_gmock_printer.o \
Chris Masone88cbd5f2011-07-03 14:30:04 -0700359 default_profile_unittest.o \
Darin Petkove02b3ca2011-05-31 16:00:44 -0700360 device_info_unittest.o \
Darin Petkovafa6fc42011-06-21 16:21:08 -0700361 device_unittest.o \
Darin Petkove7cb7f82011-06-03 13:21:51 -0700362 dhcp_config_unittest.o \
Darin Petkov98dd6a02011-06-10 15:12:57 -0700363 dhcp_provider_unittest.o \
Darin Petkovf0136cd2012-11-07 16:18:02 +0100364 diagnostics_reporter_unittest.o \
Paul Stewartc2350ee2011-10-19 12:28:40 -0700365 dns_client_unittest.o \
Paul Stewartc43cbbe2013-04-11 06:29:30 -0700366 eap_credentials_unittest.o \
Paul Stewartac802ac2013-04-02 15:45:24 -0700367 eap_listener_unittest.o \
Darin Petkove4c0ace2011-08-24 10:32:46 -0700368 error_unittest.o \
Paul Stewartced3ad72013-04-03 13:39:25 -0700369 ethernet_unittest.o \
Paul Stewart35eff132013-04-12 12:08:40 -0700370 ethernet_eap_provider_unittest.o \
Paul Stewartbe9abfd2013-04-22 12:18:48 -0700371 ethernet_eap_service_unittest.o \
Paul Stewartcf199de2012-08-16 07:50:41 -0700372 ethernet_service_unittest.o \
mukesh agrawalae30e9e2013-05-28 14:09:16 -0700373 external_task_unittest.o \
Arman Uguray26b7cf32013-02-17 13:56:12 -0800374 file_reader_unittest.o \
Gary Morainf80ef062012-05-16 14:57:04 -0700375 hook_table_unittest.o \
Paul Stewartf65320c2011-10-13 14:34:52 -0700376 http_proxy_unittest.o \
Paul Stewart188a84a2012-01-20 16:28:15 -0800377 http_request_unittest.o \
Paul Stewart95133562012-01-18 18:36:57 -0800378 http_url_unittest.o \
Paul Stewart1d18e8c2011-07-15 11:00:31 -0700379 ip_address_unittest.o \
Prathmesh Prabhuba99b592013-04-17 15:13:14 -0700380 ip_address_store_unittest.o \
Darin Petkove02b3ca2011-05-31 16:00:44 -0700381 ipconfig_unittest.o \
Darin Petkov083047b2011-06-23 20:42:48 -0700382 key_file_store_unittest.o \
Darin Petkov7f060332012-03-14 11:46:47 +0100383 key_value_store_unittest.o \
Paul Stewart3f43f432012-07-16 12:12:45 -0700384 link_monitor_unittest.o \
Darin Petkove02b3ca2011-05-31 16:00:44 -0700385 manager_unittest.o \
Christopher Wiley5781aa42012-07-30 14:42:23 -0700386 memory_log_unittest.o \
Thieu Le48e6d6d2011-12-06 00:40:27 +0000387 metrics_unittest.o \
Chris Masone95207da2011-06-29 16:50:49 -0700388 mock_adaptors.o \
Paul Stewartc2350ee2011-10-19 12:28:40 -0700389 mock_ares.o \
Paul Stewartac1328e2012-07-20 11:55:40 -0700390 mock_arp_client.o \
Paul Stewartf65320c2011-10-13 14:34:52 -0700391 mock_async_connection.o \
Paul Stewart5baebb72013-03-14 11:43:29 -0700392 mock_certificate_file.o \
Paul Stewartc1dec4d2011-12-08 15:25:28 -0800393 mock_connection.o \
Arman Ugurayf84a4242013-04-09 20:01:07 -0700394 mock_connection_health_checker.o \
Ben Chanbac5bc82013-04-12 17:15:43 -0700395 mock_connection_info_reader.o \
Darin Petkove02b3ca2011-05-31 16:00:44 -0700396 mock_control.o \
Gaurav Shahed9389c2013-05-09 15:17:06 -0700397 mock_crypto_util_proxy.o \
Darin Petkov2b8e44e2012-06-25 15:13:26 +0200398 mock_dbus_manager.o \
David Rochberg7cb06f62012-03-05 11:23:44 -0500399 mock_dbus_objectmanager_proxy.o \
Darin Petkov1bdedf12011-08-26 13:32:11 -0700400 mock_dbus_properties_proxy.o \
Darin Petkov18fb2f72012-06-14 09:09:34 +0200401 mock_dbus_service_proxy.o \
Chris Masonea82b7112011-05-25 15:16:29 -0700402 mock_device.o \
Darin Petkov1bdedf12011-08-26 13:32:11 -0700403 mock_device_info.o \
404 mock_dhcp_config.o \
405 mock_dhcp_provider.o \
406 mock_dhcp_proxy.o \
Darin Petkov385b9bc2012-12-03 15:25:05 +0100407 mock_diagnostics_reporter.o \
Paul Stewartf65320c2011-10-13 14:34:52 -0700408 mock_dns_client.o \
Prathmesh Prabhu3e452f82013-04-10 16:31:44 -0700409 mock_dns_client_factory.o \
Paul Stewartc43cbbe2013-04-11 06:29:30 -0700410 mock_eap_credentials.o \
Paul Stewartced3ad72013-04-03 13:39:25 -0700411 mock_eap_listener.o \
Paul Stewartcf199de2012-08-16 07:50:41 -0700412 mock_ethernet.o \
Paul Stewart35eff132013-04-12 12:08:40 -0700413 mock_ethernet_eap_provider.o \
Paul Stewart9413bcc2013-04-04 16:12:43 -0700414 mock_ethernet_service.o \
Paul Stewartc2350ee2011-10-19 12:28:40 -0700415 mock_event_dispatcher.o \
mukesh agrawalae30e9e2013-05-28 14:09:16 -0700416 mock_external_task.o \
Darin Petkov1bdedf12011-08-26 13:32:11 -0700417 mock_glib.o \
Paul Stewarte6927402012-01-23 16:11:30 -0800418 mock_http_request.o \
Prathmesh Prabhuba99b592013-04-17 15:13:14 -0700419 mock_ip_address_store.o \
Darin Petkovef34f182011-08-26 14:14:40 -0700420 mock_ipconfig.o \
Paul Stewart6c72c972012-07-27 11:29:20 -0700421 mock_link_monitor.o \
Gary Morain8a5726a2012-05-15 10:56:49 -0700422 mock_log.o \
423 mock_log_unittest.o \
Darin Petkovef34f182011-08-26 14:14:40 -0700424 mock_manager.o \
Thieu Le3426c8f2012-01-11 17:35:11 -0800425 mock_metrics.o \
Jorge Lucangeli Obesad43cc62012-04-11 16:25:43 -0700426 mock_minijail.o \
Paul Stewart8c116a92012-05-02 18:30:03 -0700427 mock_modem_info.o \
Wade Guthrie5a4e2ef2013-04-30 12:51:39 -0700428 mock_netlink_manager.o \
Darin Petkov3c5e4dc2012-04-02 14:44:27 +0200429 mock_nss.o \
Arman Uguray41cc6342013-03-29 16:34:39 -0700430 mock_pending_activation_store.o \
Paul Stewartc681fa02012-03-02 19:40:04 -0800431 mock_portal_detector.o \
Gary Morainac1bdb42012-02-16 17:42:29 -0800432 mock_power_manager.o \
Darin Petkov394b7d42011-11-03 15:48:02 +0100433 mock_power_manager_proxy.o \
mukesh agrawal9da07772013-05-15 14:15:17 -0700434 mock_ppp_device.o \
mukesh agrawalf407d592013-07-31 11:37:57 -0700435 mock_ppp_device_factory.o \
Darin Petkov5a850472012-06-06 15:44:24 +0200436 mock_process_killer.o \
Chris Masone7aa5f902011-07-11 11:13:35 -0700437 mock_profile.o \
Darin Petkovef34f182011-08-26 14:14:40 -0700438 mock_property_store.o \
Thieu Lefb46caf2012-03-08 11:57:15 -0800439 mock_proxy_factory.o \
Darin Petkoveac68e62011-08-26 16:24:51 -0700440 mock_resolver.o \
441 mock_routing_table.o \
Darin Petkovef34f182011-08-26 14:14:40 -0700442 mock_rtnl_handler.o \
Wade Guthrie5a4e2ef2013-04-30 12:51:39 -0700443 mock_scan_session.o \
Chris Masonea82b7112011-05-25 15:16:29 -0700444 mock_service.o \
Ben Chan3e4bf162013-04-03 18:14:51 -0700445 mock_socket_info_reader.o \
Darin Petkovef34f182011-08-26 14:14:40 -0700446 mock_sockets.o \
Darin Petkoveac68e62011-08-26 16:24:51 -0700447 mock_store.o \
mukesh agrawalb20776f2012-02-10 16:00:36 -0800448 mock_supplicant_bss_proxy.o \
Paul Stewart735eab52013-03-29 09:19:23 -0700449 mock_supplicant_eap_state_handler.o \
Darin Petkovef34f182011-08-26 14:14:40 -0700450 mock_supplicant_interface_proxy.o \
Paul Stewart835934a2012-12-06 19:27:09 -0800451 mock_supplicant_network_proxy.o \
Darin Petkovef34f182011-08-26 14:14:40 -0700452 mock_supplicant_process_proxy.o \
Paul Stewartc2350ee2011-10-19 12:28:40 -0700453 mock_time.o \
Ben Chanb061f892013-02-27 17:46:55 -0800454 mock_traffic_monitor.o \
mukesh agrawal9da07772013-05-15 14:15:17 -0700455 mock_virtual_device.o \
Paul Stewart8c116a92012-05-02 18:30:03 -0700456 mock_vpn_provider.o \
mukesh agrawal7a4e4002011-09-06 11:26:05 -0700457 mock_wifi.o \
Paul Stewart3c504012013-01-17 17:49:58 -0800458 mock_wifi_provider.o \
mukesh agrawal7ec71312011-11-10 02:08:26 +0000459 mock_wifi_service.o \
Ben Chanc07362b2012-05-12 10:54:11 -0700460 mock_wimax.o \
Darin Petkov096b3472012-05-15 10:26:22 +0200461 mock_wimax_device_proxy.o \
462 mock_wimax_manager_proxy.o \
Darin Petkov9893d9c2012-05-17 15:27:31 -0700463 mock_wimax_network_proxy.o \
Darin Petkove4b27022012-05-16 13:28:50 +0200464 mock_wimax_provider.o \
Ben Chanc07362b2012-05-12 10:54:11 -0700465 mock_wimax_service.o \
Darin Petkov887f2982011-07-14 16:10:17 -0700466 modem_info_unittest.o \
Wade Guthriebb9fca22013-04-10 17:21:42 -0700467 netlink_manager_unittest.o \
Wade Guthrie12f113a2013-03-12 17:15:46 -0700468 netlink_message_unittest.o \
Wade Guthriecc53f232013-03-05 13:22:23 -0800469 netlink_socket_unittest.o \
mukesh agrawaldc42bb32011-07-28 10:40:26 -0700470 nice_mock_control.o \
Darin Petkov3c5e4dc2012-04-02 14:44:27 +0200471 nss_unittest.o \
Arman Uguray41cc6342013-03-29 16:34:39 -0700472 pending_activation_store_unittest.o \
Paul Stewarte6927402012-01-23 16:11:30 -0800473 portal_detector_unittest.o \
Gary Morain43bc6272012-01-30 14:01:15 -0800474 power_manager_unittest.o \
mukesh agrawal9da07772013-05-15 14:15:17 -0700475 ppp_device_unittest.o \
Darin Petkov5a850472012-06-06 15:44:24 +0200476 process_killer_unittest.o \
Paul Stewart0756db92012-01-27 08:34:47 -0800477 profile_dbus_property_exporter_unittest.o \
Darin Petkova4766822011-07-07 10:42:22 -0700478 profile_unittest.o \
Chris Masone27bf1032011-06-28 17:02:01 -0700479 property_accessor_unittest.o \
Chris Masoneb925cc82011-06-22 15:39:57 -0700480 property_store_unittest.o \
Paul Stewartb6063942011-08-05 10:17:29 -0700481 resolver_unittest.o \
mukesh agrawal46c27cc2013-07-10 16:39:10 -0700482 result_aggregator_unittest.o \
Paul Stewart75e89d22011-08-01 10:00:02 -0700483 routing_table_unittest.o \
Darin Petkova9b1fed2012-02-29 11:49:05 +0100484 rpc_task_unittest.o \
Darin Petkove0a312e2011-07-20 13:45:28 -0700485 rtnl_handler_unittest.o \
Darin Petkovca432fc2011-07-08 15:56:57 -0700486 rtnl_listener_unittest.o \
Paul Stewartdd7df792011-07-15 11:09:50 -0700487 rtnl_message_unittest.o \
Wade Guthriea60a11c2013-04-12 17:47:34 -0700488 scan_session_unittest.o \
Ben Chanbc49ac72012-04-10 19:59:45 -0700489 scope_logger_unittest.o \
mukesh agrawalcbfb34e2013-04-17 19:33:25 -0700490 service_property_change_test.o \
Chris Masone6515aab2011-10-12 16:19:09 -0700491 service_under_test.o \
Chris Masone3bd3c8c2011-06-13 08:20:26 -0700492 service_unittest.o \
Paul Stewart735eab52013-03-29 09:19:23 -0700493 supplicant_eap_state_handler_unittest.o \
Darin Petkove02b3ca2011-05-31 16:00:44 -0700494 shill_unittest.o \
Darin Petkovd9050bb2012-09-26 16:02:52 +0200495 shims/certificates_unittest.o \
Paul Stewart1c9a5662013-02-12 09:41:33 -0800496 shims/netfilter_queue_processor_unittest.o \
Ben Chan086d9802013-04-02 16:39:48 -0700497 socket_info_unittest.o \
Ben Chan3e4bf162013-04-03 18:14:51 -0700498 socket_info_reader_unittest.o \
Paul Stewart1062d9d2012-04-27 10:42:27 -0700499 static_ip_parameters_unittest.o \
Ben Chanc12cf662012-04-05 14:47:18 -0700500 technology_unittest.o \
Ben Chanb061f892013-02-27 17:46:55 -0800501 traffic_monitor_unittest.o \
Chris Masone853b81b2011-06-24 14:11:41 -0700502 testrunner.o \
mukesh agrawala8f7c492013-06-13 18:31:14 -0700503 virtual_device_unittest.o \
mukesh agrawal6e277772011-09-29 15:04:23 -0700504 wifi_endpoint_unittest.o \
Paul Stewart21f2aae2013-01-17 17:10:08 -0800505 wifi_provider_unittest.o \
Chris Masone34af2182011-08-22 11:59:36 -0700506 wifi_service_unittest.o \
Darin Petkov5236a8e2012-02-21 10:26:55 +0100507 wifi_unittest.o \
Darin Petkovb72b62e2012-05-15 16:55:36 +0200508 wimax_provider_unittest.o \
Ben Chanc07362b2012-05-12 10:54:11 -0700509 wimax_service_unittest.o \
510 wimax_unittest.o \
Paul Stewart0654ece2013-03-26 15:21:26 -0700511 wpa_supplicant_unittest.o \
Darin Petkov5236a8e2012-02-21 10:26:55 +0100512 )
Chris Masone96832c32011-05-03 12:23:18 -0700513
Christopher Wiley0d05c112013-03-19 17:49:38 -0700514CRYPTO_UTIL_MAIN_OBJ = $(BUILD_SHIMS_DIR)/crypto_util.o
515CRYPTO_UTIL_BIN = $(BUILD_SHIMS_DIR)/crypto-util
516
Darin Petkovbd0dcc82012-11-29 10:51:12 +0100517NET_DIAGS_UPLOAD_MAIN_OBJ = $(BUILD_SHIMS_DIR)/net_diags_upload.o
518NET_DIAGS_UPLOAD_BIN = $(BUILD_SHIMS_DIR)/net-diags-upload
519
Paul Stewart1c9a5662013-02-12 09:41:33 -0800520NETFILTER_QUEUE_HELPER_OBJS = $(BUILD_SHIMS_DIR)/netfilter_queue_processor.o
521NETFILTER_QUEUE_HELPER_MAIN_OBJ = $(BUILD_SHIMS_DIR)/netfilter_queue_helper.o
Paul Stewart3cb0adb2013-02-15 12:58:38 -0800522NETFILTER_QUEUE_HELPER_BIN = $(BUILD_SHIMS_DIR)/netfilter-queue-helper
Paul Stewart1c9a5662013-02-12 09:41:33 -0800523
Darin Petkovd9050bb2012-09-26 16:02:52 +0200524NSS_GET_CERT_OBJS = $(BUILD_SHIMS_DIR)/certificates.o
525NSS_GET_CERT_MAIN_OBJ = $(BUILD_SHIMS_DIR)/nss_get_cert.o
526NSS_GET_CERT_BIN = $(BUILD_SHIMS_DIR)/nss-get-cert
Darin Petkovc90fe522011-07-15 13:59:47 -0700527
Darin Petkov75f201f2013-03-19 13:01:28 +0100528WPA_SUPPLICANT_CONF = $(BUILD_SHIMS_DIR)/wpa_supplicant.conf
529
530# If SHILL_CELLULAR=0, don't build cellular support into shill.
531ifeq ($(SHILL_CELLULAR), 0)
532
533CPPFLAGS += -DDISABLE_CELLULAR
534
535else
536
537CELLULAR_PC_DEPS = ModemManager
538SET_APN_HELPER_PC_DEPS = dbus-1
539
540INCLUDE_DIRS += \
541 $(shell $(PKG_CONFIG) --cflags \
542 $(CELLULAR_PC_DEPS) \
543 $(SET_APN_HELPER_PC_DEPS))
544
545SET_APN_HELPER_LIBS = $(shell $(PKG_CONFIG) --libs $(SET_APN_HELPER_PC_DEPS))
546
547SHILL_LIBS += \
548 -lmobile-provider \
549 $(shell $(PKG_CONFIG) --libs $(CELLULAR_PC_DEPS))
550
551SHILL_OBJS += $(addprefix $(BUILDDIR)/, \
552 cellular.o \
553 cellular_capability.o \
554 cellular_capability_cdma.o \
555 cellular_capability_classic.o \
556 cellular_capability_gsm.o \
557 cellular_capability_universal.o \
Arman Uguray72fab6a2013-01-10 19:32:42 -0800558 cellular_capability_universal_cdma.o \
Darin Petkovbd9f33a2013-03-20 10:38:07 +0100559 cellular_error.o \
Arman Uguray763df862013-07-02 12:49:10 -0700560 cellular_error_mm1.o \
Darin Petkov75f201f2013-03-19 13:01:28 +0100561 cellular_operator_info.o \
562 cellular_service.o \
Darin Petkovbd9f33a2013-03-20 10:38:07 +0100563 dbus_objectmanager_proxy.o \
Darin Petkov75f201f2013-03-19 13:01:28 +0100564 mm1_bearer_proxy.o \
565 mm1_modem_location_proxy.o \
566 mm1_modem_modem3gpp_proxy.o \
567 mm1_modem_modemcdma_proxy.o \
568 mm1_modem_proxy.o \
569 mm1_modem_simple_proxy.o \
570 mm1_modem_time_proxy.o \
571 mm1_sim_proxy.o \
572 modem.o \
573 modem_1.o \
574 modem_cdma_proxy.o \
575 modem_classic.o \
576 modem_gobi_proxy.o \
577 modem_gsm_card_proxy.o \
578 modem_gsm_network_proxy.o \
579 modem_manager.o \
580 modem_manager_1.o \
581 modem_manager_proxy.o \
582 modem_proxy.o \
583 modem_simple_proxy.o \
584 )
585
586TEST_OBJS += $(addprefix $(BUILDDIR)/, \
587 cellular_capability_cdma_unittest.o \
588 cellular_capability_classic_unittest.o \
589 cellular_capability_gsm_unittest.o \
Arman Uguray72fab6a2013-01-10 19:32:42 -0800590 cellular_capability_universal_cdma_unittest.o \
Darin Petkov75f201f2013-03-19 13:01:28 +0100591 cellular_capability_universal_unittest.o \
Arman Uguray763df862013-07-02 12:49:10 -0700592 cellular_error_unittest.o \
Darin Petkov75f201f2013-03-19 13:01:28 +0100593 cellular_operator_info_unittest.o \
594 cellular_service_unittest.o \
595 cellular_unittest.o \
596 mock_cellular.o \
597 mock_mm1_bearer_proxy.o \
598 mock_mm1_modem_location_proxy.o \
599 mock_mm1_modem_modemcdma_proxy.o \
600 mock_mm1_modem_modem3gpp_proxy.o \
601 mock_mm1_modem_proxy.o \
602 mock_mm1_modem_simple_proxy.o \
603 mock_mm1_modem_time_proxy.o \
604 mock_mm1_sim_proxy.o \
605 mock_modem.o \
606 mock_modem_cdma_proxy.o \
607 mock_modem_gobi_proxy.o \
608 mock_modem_gsm_card_proxy.o \
609 mock_modem_gsm_network_proxy.o \
610 mock_modem_manager_proxy.o \
611 mock_modem_proxy.o \
612 mock_modem_simple_proxy.o \
613 mock_cellular_operator_info.o \
614 mock_cellular_service.o \
615 modem_1_unittest.o \
616 modem_manager_unittest.o \
617 modem_unittest.o \
618 )
619
Darin Petkovc3505a52013-03-18 15:13:29 +0100620SET_APN_HELPER_MAIN_OBJ = $(BUILD_SHIMS_DIR)/set_apn_helper.o
621SET_APN_HELPER_BIN = $(BUILD_SHIMS_DIR)/set-apn-helper
622
Darin Petkov75f201f2013-03-19 13:01:28 +0100623$(SET_APN_HELPER_BIN): $(SET_APN_HELPER_MAIN_OBJ)
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700624 echo " CXX " $@
Darin Petkov75f201f2013-03-19 13:01:28 +0100625 $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ $(SET_APN_HELPER_LIBS) -o $@
626
627endif # SHILL_CELLULAR=0
Darin Petkovc3505a52013-03-18 15:13:29 +0100628
629# If SHILL_VPN=0, don't build VPN support into shill.
630ifeq ($(SHILL_VPN), 0)
631
632CPPFLAGS += -DDISABLE_VPN
633
634else
635
636OPENVPN_SCRIPT_PC_DEPS = $(COMMON_PC_DEPS) dbus-c++-1
637PPPD_PLUGIN_PC_DEPS = $(COMMON_PC_DEPS) dbus-c++-1
638
639INCLUDE_DIRS += \
640 $(shell $(PKG_CONFIG) --cflags \
641 $(OPENVPN_SCRIPT_PC_DEPS) \
642 $(PPPD_PLUGIN_PC_DEPS))
643
644OPENVPN_SCRIPT_LIBS = $(shell $(PKG_CONFIG) --libs $(OPENVPN_SCRIPT_PC_DEPS))
645PPPD_PLUGIN_LIBS = $(shell $(PKG_CONFIG) --libs $(PPPD_PLUGIN_PC_DEPS))
646
Darin Petkov804e8d02012-10-10 16:44:36 +0200647OPENVPN_SCRIPT_OBJS = $(addprefix $(BUILD_SHIMS_DIR)/, \
648 environment.o \
649 task_proxy.o \
650 )
651OPENVPN_SCRIPT_MAIN_OBJ = $(BUILD_SHIMS_DIR)/openvpn_script.o
652OPENVPN_SCRIPT_BIN = $(BUILD_SHIMS_DIR)/openvpn-script
653
Darin Petkov16f63492012-10-23 11:12:58 +0200654PPPD_PLUGIN_OBJS = $(addprefix $(BUILD_SHIMS_DIR)/, \
Darin Petkov374b5ee2012-11-06 11:20:04 +0100655 c_ppp.pic.o \
656 environment.pic.o \
657 ppp.pic.o \
658 pppd_plugin.pic.o \
659 task_proxy.pic.o \
Darin Petkov16f63492012-10-23 11:12:58 +0200660 )
661PPPD_PLUGIN_SO = $(BUILD_SHIMS_DIR)/shill-pppd-plugin.so
662
Darin Petkovc3505a52013-03-18 15:13:29 +0100663SHILL_OBJS += $(addprefix $(BUILDDIR)/, \
664 l2tp_ipsec_driver.o \
665 openvpn_driver.o \
666 openvpn_management_server.o \
667 )
Darin Petkov16f63492012-10-23 11:12:58 +0200668
Darin Petkovc3505a52013-03-18 15:13:29 +0100669TEST_OBJS += $(addprefix $(BUILDDIR)/, \
670 l2tp_ipsec_driver_unittest.o \
671 mock_openvpn_driver.o \
672 mock_openvpn_management_server.o \
Darin Petkovc3505a52013-03-18 15:13:29 +0100673 mock_vpn_driver.o \
674 mock_vpn_service.o \
675 openvpn_driver_unittest.o \
676 openvpn_management_server_unittest.o \
677 shims/environment_unittest.o \
678 vpn_driver_unittest.o \
679 vpn_provider_unittest.o \
680 vpn_service_unittest.o \
Darin Petkovc3505a52013-03-18 15:13:29 +0100681 )
682
683$(OPENVPN_SCRIPT_OBJS): $(DBUS_PROXY_BINDINGS)
684$(OPENVPN_SCRIPT_MAIN_OBJ): $(DBUS_PROXY_BINDINGS)
685
686$(OPENVPN_SCRIPT_BIN): $(OPENVPN_SCRIPT_MAIN_OBJ) $(OPENVPN_SCRIPT_OBJS)
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700687 echo " CXX " $@
Darin Petkovc3505a52013-03-18 15:13:29 +0100688 $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ $(OPENVPN_SCRIPT_LIBS) -o $@
689
690$(PPPD_PLUGIN_OBJS): $(DBUS_PROXY_BINDINGS)
691
692$(PPPD_PLUGIN_SO): $(PPPD_PLUGIN_OBJS)
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700693 echo " CXX " $@
Darin Petkovc3505a52013-03-18 15:13:29 +0100694 $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $^ $(PPPD_PLUGIN_LIBS) -o $@
695
696endif # SHILL_VPN=0
Darin Petkov4c2aa332012-10-17 10:33:52 +0200697
Darin Petkovd9050bb2012-09-26 16:02:52 +0200698OBJS = \
Christopher Wiley0d05c112013-03-19 17:49:38 -0700699 $(CRYPTO_UTIL_MAIN_OBJ) \
Darin Petkovbd0dcc82012-11-29 10:51:12 +0100700 $(NET_DIAGS_UPLOAD_MAIN_OBJ) \
Paul Stewart1c9a5662013-02-12 09:41:33 -0800701 $(NETFILTER_QUEUE_HELPER_MAIN_OBJ) \
702 $(NETFILTER_QUEUE_HELPER_OBJS) \
Darin Petkovd9050bb2012-09-26 16:02:52 +0200703 $(NSS_GET_CERT_MAIN_OBJ) \
704 $(NSS_GET_CERT_OBJS) \
Darin Petkov804e8d02012-10-10 16:44:36 +0200705 $(OPENVPN_SCRIPT_MAIN_OBJ) \
706 $(OPENVPN_SCRIPT_OBJS) \
Darin Petkove6ca3202012-10-19 14:49:56 +0200707 $(PPPD_PLUGIN_OBJS) \
Darin Petkov16f63492012-10-23 11:12:58 +0200708 $(SET_APN_HELPER_MAIN_OBJ) \
Darin Petkovd9050bb2012-09-26 16:02:52 +0200709 $(SHILL_MAIN_OBJ) \
710 $(SHILL_OBJS) \
711 $(TEST_OBJS)
712
Gaurav Shahc8934572013-03-25 19:02:52 -0700713GTEST_LIBS := $(shell gmock-config --libs) $(shell gtest-config --libs)
Darin Petkov75f201f2013-03-19 13:01:28 +0100714TEST_LIBS = $(SHILL_LIBS) $(NSS_GET_CERT_LIBS) $(NETFILTER_QUEUE_HELPER_LIBS) \
Gaurav Shahc8934572013-03-25 19:02:52 -0700715 $(GTEST_LIBS)
Darin Petkov75f201f2013-03-19 13:01:28 +0100716
Darin Petkovd9050bb2012-09-26 16:02:52 +0200717.PHONY: all clean shims
718
719all: $(SHILL_BIN) $(TEST_BIN) shims
720
Darin Petkove6ca3202012-10-19 14:49:56 +0200721shims: \
Christopher Wiley0d05c112013-03-19 17:49:38 -0700722 $(CRYPTO_UTIL_BIN) \
Darin Petkovbd0dcc82012-11-29 10:51:12 +0100723 $(NET_DIAGS_UPLOAD_BIN) \
Paul Stewart1c9a5662013-02-12 09:41:33 -0800724 $(NETFILTER_QUEUE_HELPER_BIN) \
Darin Petkove6ca3202012-10-19 14:49:56 +0200725 $(NSS_GET_CERT_BIN) \
726 $(OPENVPN_SCRIPT_BIN) \
727 $(PPPD_PLUGIN_SO) \
Darin Petkov16f63492012-10-23 11:12:58 +0200728 $(SET_APN_HELPER_BIN) \
Darin Petkove6ca3202012-10-19 14:49:56 +0200729 $(WPA_SUPPLICANT_CONF)
Darin Petkov804e8d02012-10-10 16:44:36 +0200730
731$(BUILD_DBUS_BINDINGS_SHIMS_DIR)/flimflam-task.xml: \
732 $(BUILD_DBUS_BINDINGS_DIR)/flimflam-task.xml
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700733 echo " CP " $@
Darin Petkov804e8d02012-10-10 16:44:36 +0200734 cp $< $@
Chris Masone96832c32011-05-03 12:23:18 -0700735
Darin Petkov5236a8e2012-02-21 10:26:55 +0100736$(BUILD_DBUS_BINDINGS_DIR)/%.xml: $(DBUS_BINDINGS_DIR)/%.xml
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700737 echo " CP " $@
Darin Petkov5236a8e2012-02-21 10:26:55 +0100738 cp $< $@
739
Darin Petkov4a09b6b2011-07-19 12:52:06 -0700740$(DBUS_PROXY_BINDINGS): %.h: %.xml
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700741 echo " DBUSXX_XML2CPP " $@
Darin Petkov005aa382011-11-17 14:26:21 +0100742 $(DBUSXX_XML2CPP) $< --proxy=$@ --sync --async
Chris Masone413a3192011-05-09 17:10:05 -0700743
Darin Petkov4a09b6b2011-07-19 12:52:06 -0700744$(DBUS_ADAPTOR_BINDINGS): %.h: %.xml
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700745 echo " DBUSXX_XML2CPP " $@
Chris Masone14de6e52011-05-09 09:20:59 -0700746 $(DBUSXX_XML2CPP) $< --adaptor=$@
747
Daniel Erat0818cca2012-12-14 10:16:21 -0800748$(PROTO_BINDINGS_H): %.h: %.cc ;
749
Christopher Wiley5a3f23a2013-02-20 17:29:57 -0800750$(SYSTEM_PROTO_BINDINGS_CC): \
Daniel Erat0818cca2012-12-14 10:16:21 -0800751 $(BUILD_PROTO_BINDINGS_DIR)/%.pb.cc: $(SYSTEM_API_PROTO_PATH)/%.proto
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700752 echo " PROTOC " $@
Daniel Erat0818cca2012-12-14 10:16:21 -0800753 $(PROTOC) --proto_path=$(SYSTEM_API_PROTO_PATH) \
754 --cpp_out=$(BUILD_PROTO_BINDINGS_DIR) $<
755
Christopher Wiley5a3f23a2013-02-20 17:29:57 -0800756$(SHIM_PROTO_BINDINGS_CC): \
757 $(BUILD_PROTO_BINDINGS_DIR)/%.pb.cc: %.proto
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700758 echo " PROTOC " $@
Christopher Wiley5a3f23a2013-02-20 17:29:57 -0800759 $(PROTOC) --proto_path=./ --cpp_out=$(BUILD_PROTO_BINDINGS_DIR) $<
760
Darin Petkove6ca3202012-10-19 14:49:56 +0200761$(BUILDDIR)/%.o: %.c
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700762 echo " CC " $@
Darin Petkove6ca3202012-10-19 14:49:56 +0200763 $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDE_DIRS) -MMD -c $< -o $@
764
Daniel Erat0818cca2012-12-14 10:16:21 -0800765$(PROTO_BINDINGS_OBJS): INCLUDE_DIRS += -iquote $(BUILD_PROTO_BINDINGS_DIR)
766
Darin Petkov5236a8e2012-02-21 10:26:55 +0100767$(BUILDDIR)/%.o: %.cc
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700768 echo " CXX " $@
mukesh agrawal837bb562011-11-23 01:06:01 +0000769 $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDE_DIRS) -MMD -c $< -o $@
Chris Masone96832c32011-05-03 12:23:18 -0700770
Darin Petkov374b5ee2012-11-06 11:20:04 +0100771$(BUILDDIR)/%.pic.o: %.c
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700772 echo " CC " $@
Darin Petkov374b5ee2012-11-06 11:20:04 +0100773 $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC $(INCLUDE_DIRS) -MMD -c $< -o $@
774
775$(BUILDDIR)/%.pic.o: %.cc
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700776 echo " CXX " $@
Darin Petkov374b5ee2012-11-06 11:20:04 +0100777 $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC $(INCLUDE_DIRS) -MMD -c $< -o $@
778
Daniel Erat0818cca2012-12-14 10:16:21 -0800779$(SHILL_OBJS): \
780 $(DBUS_ADAPTOR_BINDINGS) \
781 $(DBUS_PROXY_BINDINGS) \
782 $(PROTO_BINDINGS_H)
Chris Masone14de6e52011-05-09 09:20:59 -0700783
Darin Petkovd9050bb2012-09-26 16:02:52 +0200784$(SHILL_LIB): $(SHILL_OBJS)
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700785 echo " AR " $@
Darin Petkovd9050bb2012-09-26 16:02:52 +0200786 $(AR) rcs $@ $^
787
788$(SHILL_BIN): $(SHILL_MAIN_OBJ) $(SHILL_LIB)
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700789 echo " CXX " $@
Darin Petkovd9050bb2012-09-26 16:02:52 +0200790 $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ $(SHILL_LIBS) -o $@
791
Christopher Wiley0d05c112013-03-19 17:49:38 -0700792$(CRYPTO_UTIL_BIN): $(CRYPTO_UTIL_MAIN_OBJ) $(CRYPTO_UTIL_PROTO_BINDINGS_OBJS)
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700793 echo " CXX " $@
Christopher Wiley0d05c112013-03-19 17:49:38 -0700794 $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ $(CRYPTO_UTIL_LIBS) -o $@
795
Darin Petkovbd0dcc82012-11-29 10:51:12 +0100796$(NET_DIAGS_UPLOAD_BIN): $(NET_DIAGS_UPLOAD_MAIN_OBJ)
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700797 echo " CXX " $@
Darin Petkovfac01f02012-12-06 12:44:07 +0100798 $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ $(NET_DIAGS_UPLOAD_LIBS) -o $@
Darin Petkovbd0dcc82012-11-29 10:51:12 +0100799
Paul Stewart1c9a5662013-02-12 09:41:33 -0800800$(NETFILTER_QUEUE_HELPER_BIN): \
801 $(NETFILTER_QUEUE_HELPER_MAIN_OBJ) \
802 $(NETFILTER_QUEUE_HELPER_OBJS)
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700803 echo " CXX " $@
Paul Stewart1c9a5662013-02-12 09:41:33 -0800804 $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ $(NETFILTER_QUEUE_HELPER_LIBS) -o $@
805
Darin Petkovd9050bb2012-09-26 16:02:52 +0200806$(NSS_GET_CERT_BIN): $(NSS_GET_CERT_MAIN_OBJ) $(NSS_GET_CERT_OBJS) $(SHILL_LIB)
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700807 echo " CXX " $@
Darin Petkovd9050bb2012-09-26 16:02:52 +0200808 $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ $(NSS_GET_CERT_LIBS) -o $@
Chris Masone96832c32011-05-03 12:23:18 -0700809
Darin Petkov4c2aa332012-10-17 10:33:52 +0200810$(WPA_SUPPLICANT_CONF): shims/wpa_supplicant.conf.in
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700811 echo " SED " $@
Darin Petkov4c2aa332012-10-17 10:33:52 +0200812 sed s,@libdir@,$(LIBDIR), $^ > $@
813
Paul Stewart291a4732012-03-14 19:19:02 -0700814$(TEST_BIN): CPPFLAGS += -DUNIT_TEST -DSYSROOT=\"$(SYSROOT)\"
Darin Petkov804e8d02012-10-10 16:44:36 +0200815$(TEST_BIN): \
816 $(TEST_OBJS) \
Paul Stewart1c9a5662013-02-12 09:41:33 -0800817 $(NETFILTER_QUEUE_HELPER_OBJS) \
Darin Petkov804e8d02012-10-10 16:44:36 +0200818 $(NSS_GET_CERT_OBJS) \
819 $(OPENVPN_SCRIPT_OBJS) \
820 $(SHILL_LIB)
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700821 echo " CXX " $@
Darin Petkovd9050bb2012-09-26 16:02:52 +0200822 $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ $(TEST_LIBS) -o $@
Chris Masone96832c32011-05-03 12:23:18 -0700823
824clean:
Darin Petkove604f702011-07-28 15:51:17 -0700825 rm -rf \
Darin Petkov5236a8e2012-02-21 10:26:55 +0100826 $(BUILDDIR) \
Darin Petkove604f702011-07-28 15:51:17 -0700827 $(SHILL_BIN) \
828 $(TEST_BIN)
mukesh agrawal837bb562011-11-23 01:06:01 +0000829
mukesh agrawal76a87fd2013-04-19 18:17:49 -0700830# Don't output build commands. When adding rules, please echo a short
831# form of the build command manually. E.g. 'echo " CXX " $@'.
832.SILENT:
833
Darin Petkovd9050bb2012-09-26 16:02:52 +0200834-include $(OBJS:.o=.d)