1 include $(GLIB_MAKEFILE)
3 @GNOME_CODE_COVERAGE_RULES@
12 if WITH_MODEM_MANAGER_1
13 SUBDIRS += devices/wwan devices/bluetooth
17 SUBDIRS += devices/wifi
21 SUBDIRS += devices/team
27 dnsmasq-manager/tests \
31 supplicant-manager/tests \
36 -I$(top_srcdir)/shared \
37 -I$(top_builddir)/shared \
38 -I$(top_builddir)/introspection \
39 -I$(top_srcdir)/libnm-core \
40 -I$(top_builddir)/libnm-core \
41 -I$(top_srcdir)/callouts \
42 -DPREFIX=\"$(prefix)\" \
43 -DG_LOG_DOMAIN=\""NetworkManager"\" \
44 -DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_INSIDE_DAEMON \
45 -DNM_VERSION_MAX_ALLOWED=NM_VERSION_NEXT_STABLE
47 # add each subdirectory that contains a libNM source file. $(sort) is being used
48 # primarily for its side effect of removing duplicates.
49 AM_CPPFLAGS += $(foreach d,$(sort $(dir $(libNetworkManager_la_SOURCES))),-I$(top_srcdir)/src/$d)
51 noinst_LTLIBRARIES = \
52 libNetworkManager.la \
53 libnm-iface-helper.la \
56 ######################
58 ######################
60 SYSTEMD_NM_CFLAGS_PATHS = \
61 -I$(top_srcdir)/src/systemd/src/systemd \
62 -I$(top_srcdir)/src/systemd/src/libsystemd-network \
63 -I$(top_srcdir)/src/systemd/src/basic \
64 -I$(top_srcdir)/src/systemd
66 libsystemd_nm_la_SOURCES = \
69 systemd/nm-sd-adapt.c \
70 systemd/nm-sd-adapt.h \
71 systemd/src/basic/alloc-util.c \
72 systemd/src/basic/alloc-util.h \
73 systemd/src/basic/async.h \
74 systemd/src/basic/escape.c \
75 systemd/src/basic/escape.h \
76 systemd/src/basic/ether-addr-util.c \
77 systemd/src/basic/ether-addr-util.h \
78 systemd/src/basic/fd-util.c \
79 systemd/src/basic/fd-util.h \
80 systemd/src/basic/fileio.c \
81 systemd/src/basic/fileio.h \
82 systemd/src/basic/fs-util.c \
83 systemd/src/basic/fs-util.h \
84 systemd/src/basic/hash-funcs.c \
85 systemd/src/basic/hash-funcs.h \
86 systemd/src/basic/hashmap.c \
87 systemd/src/basic/hashmap.h \
88 systemd/src/basic/hexdecoct.c \
89 systemd/src/basic/hexdecoct.h \
90 systemd/src/basic/hostname-util.c \
91 systemd/src/basic/hostname-util.h \
92 systemd/src/basic/in-addr-util.c \
93 systemd/src/basic/in-addr-util.h \
94 systemd/src/basic/io-util.c \
95 systemd/src/basic/io-util.h \
96 systemd/src/basic/list.h \
97 systemd/src/basic/log.h \
98 systemd/src/basic/macro.h \
99 systemd/src/basic/mempool.c \
100 systemd/src/basic/mempool.h \
101 systemd/src/basic/parse-util.c \
102 systemd/src/basic/parse-util.h \
103 systemd/src/basic/path-util.c \
104 systemd/src/basic/path-util.h \
105 systemd/src/basic/prioq.c \
106 systemd/src/basic/prioq.h \
107 systemd/src/basic/random-util.c \
108 systemd/src/basic/random-util.h \
109 systemd/src/basic/refcnt.h \
110 systemd/src/basic/set.h \
111 systemd/src/basic/siphash24.c \
112 systemd/src/basic/siphash24.h \
113 systemd/src/basic/socket-util.c \
114 systemd/src/basic/socket-util.h \
115 systemd/src/basic/sparse-endian.h \
116 systemd/src/basic/stdio-util.h \
117 systemd/src/basic/string-table.c \
118 systemd/src/basic/string-table.h \
119 systemd/src/basic/string-util.c \
120 systemd/src/basic/string-util.h \
121 systemd/src/basic/strv.c \
122 systemd/src/basic/strv.h \
123 systemd/src/basic/time-util.c \
124 systemd/src/basic/time-util.h \
125 systemd/src/basic/umask-util.h \
126 systemd/src/basic/unaligned.h \
127 systemd/src/basic/utf8.c \
128 systemd/src/basic/utf8.h \
129 systemd/src/basic/util.c \
130 systemd/src/basic/util.h \
131 systemd/src/libsystemd-network/arp-util.c \
132 systemd/src/libsystemd-network/arp-util.h \
133 systemd/src/libsystemd-network/dhcp-identifier.c \
134 systemd/src/libsystemd-network/dhcp-identifier.h \
135 systemd/src/libsystemd-network/dhcp-internal.h \
136 systemd/src/libsystemd-network/dhcp-lease-internal.h \
137 systemd/src/libsystemd-network/dhcp-network.c \
138 systemd/src/libsystemd-network/dhcp-option.c \
139 systemd/src/libsystemd-network/dhcp-packet.c \
140 systemd/src/libsystemd-network/dhcp-protocol.h \
141 systemd/src/libsystemd-network/dhcp6-internal.h \
142 systemd/src/libsystemd-network/dhcp6-lease-internal.h \
143 systemd/src/libsystemd-network/dhcp6-network.c \
144 systemd/src/libsystemd-network/dhcp6-option.c \
145 systemd/src/libsystemd-network/dhcp6-protocol.h \
146 systemd/src/libsystemd-network/lldp-internal.h \
147 systemd/src/libsystemd-network/lldp-neighbor.c \
148 systemd/src/libsystemd-network/lldp-neighbor.h \
149 systemd/src/libsystemd-network/lldp-network.c \
150 systemd/src/libsystemd-network/lldp-network.h \
151 systemd/src/libsystemd-network/lldp.h \
152 systemd/src/libsystemd-network/network-internal.c \
153 systemd/src/libsystemd-network/network-internal.h \
154 systemd/src/libsystemd-network/sd-dhcp-client.c \
155 systemd/src/libsystemd-network/sd-dhcp-lease.c \
156 systemd/src/libsystemd-network/sd-dhcp6-client.c \
157 systemd/src/libsystemd-network/sd-dhcp6-lease.c \
158 systemd/src/libsystemd-network/sd-ipv4acd.c \
159 systemd/src/libsystemd-network/sd-ipv4ll.c \
160 systemd/src/libsystemd-network/sd-lldp.c \
161 systemd/src/libsystemd/sd-event/sd-event.c \
162 systemd/src/libsystemd/sd-id128/sd-id128.c \
163 systemd/src/shared/dns-domain.c \
164 systemd/src/shared/dns-domain.h \
165 systemd/src/systemd/_sd-common.h \
166 systemd/src/systemd/sd-dhcp-client.h \
167 systemd/src/systemd/sd-dhcp-lease.h \
168 systemd/src/systemd/sd-dhcp6-client.h \
169 systemd/src/systemd/sd-dhcp6-lease.h \
170 systemd/src/systemd/sd-event.h \
171 systemd/src/systemd/sd-id128.h \
172 systemd/src/systemd/sd-ipv4acd.h \
173 systemd/src/systemd/sd-ipv4ll.h \
174 systemd/src/systemd/sd-lldp.h \
175 systemd/src/systemd/sd-ndisc.h
177 libsystemd_nm_la_CPPFLAGS = \
178 -I$(top_srcdir)/shared \
179 -I$(top_builddir)/shared \
180 -I$(top_srcdir)/libnm-core \
181 -I$(top_builddir)/libnm-core \
182 $(SYSTEMD_NM_CFLAGS_PATHS) \
183 -I$(top_srcdir)/src/systemd/src/shared \
184 -DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_SYSTEMD \
187 libsystemd_nm_la_LIBADD = \
190 ######################
192 ######################
195 noinst_LTLIBRARIES += \
196 libNetworkManager-base.la
198 libNetworkManager_base_la_SOURCES = \
204 libNetworkManager_base_la_CPPFLAGS = \
205 -I$(top_srcdir)/shared \
206 -I$(top_builddir)/shared \
207 -I$(top_srcdir)/libnm-core \
208 -I$(top_builddir)/libnm-core \
209 -I$(top_srcdir)/src/platform \
210 -DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_INSIDE_DAEMON \
211 -DNO_SYSTEMD_JOURNAL \
212 -DPREFIX=\"$(prefix)\" \
213 -DNMSTATEDIR=\"$(nmstatedir)\" \
216 libNetworkManager_base_la_LIBADD = \
217 $(top_builddir)/libnm-core/libnm-core.la \
221 ###########################################
223 ###########################################
225 sbin_PROGRAMS = NetworkManager
227 NetworkManager_SOURCES = \
228 $(nm_device_sources) $(nm_device_headers) \
229 $(nm_dhcp_client_sources) $(nm_dhcp_client_headers) \
234 NetworkManager_LDADD = libNetworkManager.la
236 nm_device_sources = \
237 devices/nm-device-bond.c \
238 devices/nm-device-bridge.c \
239 devices/nm-device-ethernet.c \
240 devices/nm-device-infiniband.c \
241 devices/nm-device-ip-tunnel.c \
242 devices/nm-device-macvlan.c \
243 devices/nm-device-tun.c \
244 devices/nm-device-veth.c \
245 devices/nm-device-vlan.c \
246 devices/nm-device-vxlan.c \
249 nm_device_headers = \
250 devices/nm-device-bond.h \
251 devices/nm-device-bridge.h \
252 devices/nm-device-ethernet.h \
253 devices/nm-device-infiniband.h \
254 devices/nm-device-ip-tunnel.h \
255 devices/nm-device-macvlan.h \
256 devices/nm-device-tun.h \
257 devices/nm-device-veth.h \
258 devices/nm-device-vlan.h \
259 devices/nm-device-vxlan.h
261 nm_dhcp_client_sources = \
262 dhcp-manager/nm-dhcp-dhclient.c \
263 dhcp-manager/nm-dhcp-dhclient-utils.c \
264 dhcp-manager/nm-dhcp-dhcpcd.c \
265 dhcp-manager/nm-dhcp-systemd.c
267 nm_dhcp_client_headers = \
268 dhcp-manager/nm-dhcp-dhclient.h \
269 dhcp-manager/nm-dhcp-dhclient-utils.h \
270 dhcp-manager/nm-dhcp-dhcpcd.h \
271 dhcp-manager/nm-dhcp-systemd.h
273 libNetworkManager_la_SOURCES = \
274 $(nm_device_headers) \
275 $(nm_dhcp_client_headers) \
276 devices/nm-device.c \
277 devices/nm-device.h \
278 devices/nm-lldp-listener.c \
279 devices/nm-lldp-listener.h \
280 devices/nm-arping-manager.c \
281 devices/nm-arping-manager.h \
282 devices/nm-device-ethernet-utils.c \
283 devices/nm-device-ethernet-utils.h \
284 devices/nm-device-factory.c \
285 devices/nm-device-factory.h \
286 devices/nm-device-generic.c \
287 devices/nm-device-generic.h \
288 devices/nm-device-logging.h \
289 devices/nm-device-private.h \
291 dhcp-manager/nm-dhcp-client.c \
292 dhcp-manager/nm-dhcp-client.h \
293 dhcp-manager/nm-dhcp-client-logging.h \
294 dhcp-manager/nm-dhcp-utils.c \
295 dhcp-manager/nm-dhcp-utils.h \
296 dhcp-manager/nm-dhcp-listener.c \
297 dhcp-manager/nm-dhcp-listener.h \
298 dhcp-manager/nm-dhcp-manager.c \
299 dhcp-manager/nm-dhcp-manager.h \
301 dns-manager/nm-dns-dnsmasq.c \
302 dns-manager/nm-dns-dnsmasq.h \
303 dns-manager/nm-dns-unbound.c \
304 dns-manager/nm-dns-unbound.h \
305 dns-manager/nm-dns-manager.c \
306 dns-manager/nm-dns-manager.h \
307 dns-manager/nm-dns-plugin.c \
308 dns-manager/nm-dns-plugin.h \
309 dns-manager/nm-dns-utils.c \
310 dns-manager/nm-dns-utils.h \
312 dnsmasq-manager/nm-dnsmasq-manager.c \
313 dnsmasq-manager/nm-dnsmasq-manager.h \
314 dnsmasq-manager/nm-dnsmasq-utils.c \
315 dnsmasq-manager/nm-dnsmasq-utils.h \
317 platform/nmp-netns.c \
318 platform/nmp-netns.h \
319 platform/nm-fake-platform.c \
320 platform/nm-fake-platform.h \
321 platform/nm-linux-platform.c \
322 platform/nm-linux-platform.h \
323 platform/nm-platform.c \
324 platform/nm-platform.h \
325 platform/nm-platform-utils.c \
326 platform/nm-platform-utils.h \
327 platform/nmp-object.c \
328 platform/nmp-object.h \
329 platform/wifi/wifi-utils-nl80211.c \
330 platform/wifi/wifi-utils-nl80211.h \
331 platform/wifi/wifi-utils-private.h \
332 platform/wifi/wifi-utils.c \
333 platform/wifi/wifi-utils.h \
335 rdisc/nm-fake-rdisc.c \
336 rdisc/nm-fake-rdisc.h \
337 rdisc/nm-lndp-rdisc.c \
338 rdisc/nm-lndp-rdisc.h \
341 rdisc/nm-rdisc-private.h \
343 ppp-manager/nm-ppp-manager.c \
344 ppp-manager/nm-ppp-manager.h \
345 ppp-manager/nm-ppp-status.h \
347 settings/nm-agent-manager.c \
348 settings/nm-agent-manager.h \
349 settings/nm-inotify-helper.c \
350 settings/nm-inotify-helper.h \
351 settings/nm-secret-agent.c \
352 settings/nm-secret-agent.h \
353 settings/nm-settings-connection.c \
354 settings/nm-settings-connection.h \
355 settings/nm-settings-plugin.c \
356 settings/nm-settings-plugin.h \
357 settings/nm-settings.c \
358 settings/nm-settings.h \
360 settings/plugins/keyfile/nm-keyfile-connection.c \
361 settings/plugins/keyfile/nm-keyfile-connection.h \
362 settings/plugins/keyfile/plugin.c \
363 settings/plugins/keyfile/plugin.h \
364 settings/plugins/keyfile/reader.c \
365 settings/plugins/keyfile/reader.h \
366 settings/plugins/keyfile/utils.c \
367 settings/plugins/keyfile/utils.h \
368 settings/plugins/keyfile/writer.c \
369 settings/plugins/keyfile/writer.h \
371 supplicant-manager/nm-supplicant-config.c \
372 supplicant-manager/nm-supplicant-config.h \
373 supplicant-manager/nm-supplicant-interface.c \
374 supplicant-manager/nm-supplicant-interface.h \
375 supplicant-manager/nm-supplicant-manager.c \
376 supplicant-manager/nm-supplicant-manager.h \
377 supplicant-manager/nm-supplicant-settings-verify.c \
378 supplicant-manager/nm-supplicant-settings-verify.h \
379 supplicant-manager/nm-supplicant-types.h \
381 vpn-manager/nm-vpn-connection.c \
382 vpn-manager/nm-vpn-connection.h \
383 vpn-manager/nm-vpn-manager.c \
384 vpn-manager/nm-vpn-manager.h \
386 nm-activation-request.c \
387 nm-activation-request.h \
388 nm-active-connection.c \
389 nm-active-connection.h \
398 nm-connection-provider.c \
399 nm-connection-provider.h \
406 nm-default-route-manager.c \
407 nm-default-route-manager.h \
416 nm-exported-object.c \
417 nm-exported-object.h \
418 nm-firewall-manager.c \
419 nm-firewall-manager.h \
438 nm-rfkill-manager.c \
439 nm-rfkill-manager.h \
440 nm-session-monitor.h \
441 nm-session-monitor.c \
446 NetworkManagerUtils.c \
447 NetworkManagerUtils.h
450 if SUSPEND_RESUME_UPOWER
451 libNetworkManager_la_SOURCES += nm-sleep-monitor-upower.c
453 # systemd/consolekit suspend/resume used whenever upower is not enabled
454 libNetworkManager_la_SOURCES += nm-sleep-monitor-systemd.c
458 libNetworkManager_la_SOURCES += \
459 platform/wifi/wifi-utils-wext.c \
460 platform/wifi/wifi-utils-wext.h
464 GLIB_GENERATED = nm-enum-types.h nm-enum-types.c
465 GLIB_MKENUMS_H_FLAGS = --identifier-prefix NM --fhead '\#include <nm-core-enum-types.h>\n'
466 GLIB_MKENUMS_C_FLAGS = --identifier-prefix NM
467 nm_enum_types_sources = $(filter-out \
468 %/nm-device-private.h \
469 %/nm-rdisc-private.h \
470 %/wifi-utils-private.h \
471 %/nm-dhcp-client-logging.h \
472 %/nm-device-logging.h \
473 , $(libNetworkManager_la_SOURCES))
475 BUILT_SOURCES = $(GLIB_GENERATED)
485 $(SYSTEMD_LOGIN_CFLAGS) \
486 $(SYSTEMD_JOURNAL_CFLAGS) \
487 $(SYSTEMD_NM_CFLAGS_PATHS) \
489 -DBINDIR=\"$(bindir)\" \
490 -DDATADIR=\"$(datadir)\" \
491 -DLIBEXECDIR=\"$(libexecdir)\" \
492 -DLOCALSTATEDIR=\"$(localstatedir)\" \
493 -DRUNSTATEDIR=\"$(runstatedir)\" \
494 -DSBINDIR=\"$(sbindir)\" \
495 -DSYSCONFDIR=\"$(sysconfdir)\" \
496 -DRUNDIR=\"$(rundir)\" \
498 -DNMCONFDIR=\"$(nmconfdir)\" \
499 -DNMLOCALEDIR=\"$(datadir)/locale\" \
500 -DNMPLUGINDIR=\"$(pkglibdir)\" \
501 -DNMRUNDIR=\"$(nmrundir)\" \
502 -DNMSTATEDIR=\"$(nmstatedir)\" \
503 -DNMLIBDIR=\"$(nmlibdir)\" \
505 -DDHCLIENT_PATH=\"$(DHCLIENT_PATH)\" \
506 -DDHCPCD_PATH=\"$(DHCPCD_PATH)\" \
507 -DPPPD_PLUGIN_DIR=\"$(PPPD_PLUGIN_DIR)\" \
511 libNetworkManager_la_LIBADD = \
512 $(top_builddir)/libnm-core/libnm-core.la \
513 $(top_builddir)/introspection/libnmdbus.la \
518 $(SYSTEMD_LOGIN_LIBS) \
519 $(SYSTEMD_JOURNAL_LIBS) \
527 libNetworkManager_la_LIBADD += $(LIBSOUP_LIBS)
530 NetworkManager_LDFLAGS = \
532 -Wl,--version-script="$(srcdir)/NetworkManager.ver"
534 ######################
536 libnm_iface_helper_la_SOURCES = \
537 dhcp-manager/nm-dhcp-client.c \
538 dhcp-manager/nm-dhcp-client.h \
539 dhcp-manager/nm-dhcp-client-logging.h \
540 dhcp-manager/nm-dhcp-utils.c \
541 dhcp-manager/nm-dhcp-utils.h \
542 dhcp-manager/nm-dhcp-manager.c \
543 dhcp-manager/nm-dhcp-manager.h \
545 platform/nm-linux-platform.c \
546 platform/nm-linux-platform.h \
547 platform/nm-platform.c \
548 platform/nm-platform.h \
549 platform/nm-platform-utils.c \
550 platform/nm-platform-utils.h \
551 platform/nmp-netns.c \
552 platform/nmp-netns.h \
553 platform/nmp-object.c \
554 platform/nmp-object.h \
555 platform/wifi/wifi-utils-nl80211.c \
556 platform/wifi/wifi-utils-nl80211.h \
557 platform/wifi/wifi-utils-private.h \
558 platform/wifi/wifi-utils.c \
559 platform/wifi/wifi-utils.h \
561 rdisc/nm-fake-rdisc.c \
562 rdisc/nm-fake-rdisc.h \
563 rdisc/nm-lndp-rdisc.c \
564 rdisc/nm-lndp-rdisc.h \
571 nm-exported-object.c \
572 nm-exported-object.h \
586 NetworkManagerUtils.c \
587 NetworkManagerUtils.h
590 libnm_iface_helper_la_SOURCES += \
591 platform/wifi/wifi-utils-wext.c \
592 platform/wifi/wifi-utils-wext.h
595 libnm_iface_helper_la_LIBADD = \
596 $(top_builddir)/libnm-core/libnm-core.la \
597 $(top_builddir)/introspection/libnmdbus.la \
606 libexec_PROGRAMS = nm-iface-helper
608 nm_iface_helper_SOURCES = \
609 dhcp-manager/nm-dhcp-systemd.h \
610 dhcp-manager/nm-dhcp-systemd.c \
615 nm_iface_helper_LDADD = \
616 $(top_builddir)/libnm-core/libnm-core.la \
618 libnm-iface-helper.la \
621 $(SYSTEMD_JOURNAL_LIBS) \
626 nm_iface_helper_LDFLAGS = -rdynamic
628 ######################
630 dbusservicedir = $(DBUS_SYS_DIR)
631 dbusservice_DATA = org.freedesktop.NetworkManager.conf
634 $(dbusservice_DATA) \
635 $(NetworkManager_DATA) \
638 rundir=$(runstatedir)/NetworkManager
639 statedir=$(localstatedir)/lib/NetworkManager
641 $(mkinstalldirs) -m 0755 $(DESTDIR)$(rundir)
642 $(mkinstalldirs) -m 0700 $(DESTDIR)$(statedir)
643 $(mkinstalldirs) -m 0755 $(DESTDIR)$(pkglibdir)