Makefile.am 170 KB
Newer Older
1
include $(GLIB_MAKEFILE)
2
-include $(INTROSPECTION_MAKEFILE)
3
include Makefile.vapigen
4

5 6
@GNOME_CODE_COVERAGE_RULES@

7 8
@NM_LOG_COMPILER@

9 10
###############################################################################

11 12
AUTOMAKE_OPTIONS = subdir-objects

13
noinst_LTLIBRARIES =
14
check_LTLIBRARIES =
15
noinst_PROGRAMS =
16
noinst_LIBRARIES =
17
check_PROGRAMS =
18
noinst_DATA =
19
sbin_PROGRAMS =
20
bin_PROGRAMS =
21
libexec_PROGRAMS =
22
dist_libexec_SCRIPTS =
23
lib_LTLIBRARIES =
24
plugin_LTLIBRARIES =
25
core_plugins =
26
service_DATA =
27
man_MANS =
28
examples_DATA =
29
CLEANFILES =
30
DISTCLEANFILES =
31
EXTRA_DIST =
32
EXTRA_LTLIBRARIES =
33
dist_hook =
34 35
dist_dependencies =
dist_configure_check =
36
install_data_hook =
37
install_exec_hook =
38
uninstall_hook =
39
TESTS =
40
BUILT_SOURCES =
41
GLIB_GENERATED =
42 43
man_pages =
man_pages_autogen =
44
check_programs =
45
check_programs_norun =
46
check_ltlibraries =
47
check_local =
48
VAPIGEN_VAPIS =
49
dbusservice_DATA =
50
dbusactivation_DATA =
51 52 53 54 55 56

INTROSPECTION_GIRS =
INTROSPECTION_SCANNER_ARGS =
INTROSPECTION_COMPILER_ARGS =
# Pass SANITIZER_ENV where a command that uses built libraries is
# executed, to suppress possible errors
57
INTROSPECTION_SCANNER_ENV = $(SANITIZER_ENV) LDFLAGS="$(SANITIZER_LIB_LDFLAGS)"
58 59 60

libnmincludedir = $(includedir)/libnm
libnminclude_HEADERS =
61
nodist_libnminclude_HEADERS =
62 63 64

pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA =
65

66 67 68
pppd_plugindir = $(PPPD_PLUGIN_DIR)
pppd_plugin_LTLIBRARIES =

69 70 71
vapidir = $(datadir)/vala/vapi
vapi_DATA =

72 73
examplesdir = $(docdir)/examples

74 75 76
rundir=$(runstatedir)/NetworkManager
statedir=$(localstatedir)/lib/NetworkManager

77 78
plugindir=$(pkglibdir)/$(NM_DIST_VERSION)

79 80
dbusactivationdir = $(datadir)/dbus-1/system-services

81 82
servicedir = $(datadir)/dbus-1/system-services

83 84
completiondir = $(datadir)/bash-completion/completions

85 86
nmlocaledir = $(datadir)/locale

87 88 89
GLIB_MKENUMS_H_FLAGS = --identifier-prefix NM
GLIB_MKENUMS_C_FLAGS = --identifier-prefix NM

90
SUBDIRS = \
91
	. \
92 93
	po

94
if HAVE_DOCS
95 96

SUBDIRS += \
97 98 99
	docs/libnm \
	docs/api

100 101
endif

102
dflt_cppflags = -std=gnu11
103

104 105
###############################################################################

106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
# with autotools, it is not easily possible to generate these defines
# from configure.ac.
#
# See https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Installation-Directory-Variables.html
#
# With meson-only, they could just be set via config.h.meson
config-extra.h: Makefile
	$(AM_V_GEN) \
	echo "/* Generated by Makefile.am */"                    >$@ && \
	echo "#define BINDIR            \"$(bindir)\""          >>$@ && \
	echo "#define DATADIR           \"$(datadir)\""         >>$@ && \
	echo "#define LIBEXECDIR        \"$(libexecdir)\""      >>$@ && \
	echo "#define LOCALSTATEDIR     \"$(localstatedir)\""   >>$@ && \
	echo "#define NMCONFDIR         \"$(nmconfdir)\""       >>$@ && \
	echo "#define NMLIBDIR          \"$(nmlibdir)\""        >>$@ && \
	echo "#define NMLOCALEDIR       \"$(nmlocaledir)\""     >>$@ && \
	echo "#define NMPLUGINDIR       \"$(plugindir)\""       >>$@ && \
	echo "#define NMRUNDIR          \"$(nmrundir)\""        >>$@ && \
	echo "#define NMSTATEDIR        \"$(nmstatedir)\""      >>$@ && \
	echo "#define NMVPNDIR          \"$(pkglibdir)\""       >>$@ && \
	echo "#define NM_BUILD_BUILDDIR \"$(abs_builddir)\""    >>$@ && \
	echo "#define NM_BUILD_SRCDIR   \"$(abs_srcdir)\""      >>$@ && \
	echo "#define PPPD_PLUGIN_DIR   \"$(PPPD_PLUGIN_DIR)\"" >>$@ && \
	echo "#define PREFIX            \"$(prefix)\""          >>$@ && \
	echo "#define RUNDIR            \"$(rundir)\""          >>$@ && \
	echo "#define RUNSTATEDIR       \"$(runstatedir)\""     >>$@ && \
	echo "#define SYSCONFDIR        \"$(sysconfdir)\""      >>$@ && \
	true

DISTCLEANFILES += config-extra.h

libnm-core/.dirstamp: config-extra.h

###############################################################################
140

141 142
set_sanitizer_env = \
	[ -n "$(SANITIZER_ENV)" ] && export $(SANITIZER_ENV) ; \
143 144 145
	if echo $(SANITIZER_LIB_CFLAGS) $(SANITIZER_EXEC_CFLAGS) | grep -e -fsanitize=address > /dev/null; then \
		[ -n "$(1)" ] && export LD_PRELOAD="$${LD_PRELOAD}:$$(ldd $(1) | grep libasan\.so\.. -o | head -n 1)"; \
		[ -n "$(2)" ] && export LD_PRELOAD="$${LD_PRELOAD}:$$(ldd $(2) | grep libasan\.so\.. -o | head -n 1)"; \
146 147 148
	fi

check_so_symbols = \
149
	$(call set_sanitizer_env,$(1),$(builddir)/src/NetworkManager); \
150
	LD_BIND_NOW=1 LD_PRELOAD=$${LD_PRELOAD}:$(1) $(builddir)/src/NetworkManager --version >/dev/null
151 152 153

###############################################################################

154 155 156 157 158 159 160 161 162
DISTCHECK_CONFIGURE_FLAGS = \
	--enable-tests=yes \
	--with-valgrind=no \
	--enable-gtk-doc \
	--enable-more-warnings=error \
	--with-udev-dir=$$dc_install_base/lib/udev \
	--with-wext=no \
	--enable-ifcfg-rh \
	--enable-ifupdown \
163 164 165
	--enable-config-plugin-ibft \
	--disable-dependency-tracking \
	$(NULL)
166

167
dist-configure-check:
Lubomir Rintel's avatar
Lubomir Rintel committed
168
	@echo "*** 'make dist' requires '--enable-gtk-doc --enable-introspection'. ***"
169
	@false
170
if !BUILD_DOCS
171 172
dist_configure_check += dist-configure-check
endif
173

174
dist: $(dist_configure_check) $(dist_dependencies)
175

176
DISTCLEANFILES += intltool-extract intltool-merge intltool-update
177 178 179

###############################################################################

180 181 182
polkit_policydir = $(datadir)/polkit-1/actions

dist_polkit_policy_in_in_files = \
183
	data/org.freedesktop.NetworkManager.policy.in.in
184 185 186 187 188 189 190 191 192

polkit_policy_DATA = $(dist_polkit_policy_in_in_files:.policy.in.in=.policy)

@INTLTOOL_POLICY_RULE@

DISTCLEANFILES += $(polkit_policy_DATA)

###############################################################################

193 194 195 196 197 198
EXTRA_DIST += \
	shared/c-stdaux/src/c-stdaux.h \
	$(NULL)

###############################################################################

199 200
noinst_LTLIBRARIES += shared/libcsiphash.la

201 202 203 204 205 206
shared_libcsiphash_la_CFLAGS = \
	$(AM_CFLAGS) \
	-std=c11 \
	-I$(srcdir)/shared/c-stdaux/src \
	$(NULL)

207 208 209 210 211
shared_libcsiphash_la_CPPFLAGS = \
	$(CODE_COVERAGE_CFLAGS) \
	$(SANITIZER_LIB_CFLAGS) \
	$(NULL)

212 213 214
shared_libcsiphash_la_LDFLAGS = \
	$(SANITIZER_LIB_LDFLAGS)

215 216
shared_libcsiphash_la_SOURCES = \
	shared/c-siphash/src/c-siphash.c \
217 218
	shared/c-siphash/src/c-siphash.h \
	$(NULL)
219 220 221 222 223

###############################################################################

noinst_LTLIBRARIES += shared/libcrbtree.la

224 225 226
shared_libcrbtree_la_CFLAGS = \
	$(AM_CFLAGS) \
	-std=c11 \
227
	-I$(srcdir)/shared/c-stdaux/src \
228
	$(NULL)
229 230 231 232 233 234

shared_libcrbtree_la_CPPFLAGS = \
	$(CODE_COVERAGE_CFLAGS) \
	$(SANITIZER_LIB_CFLAGS) \
	$(NULL)

235 236 237
shared_libcrbtree_la_LDFLAGS = \
	$(SANITIZER_LIB_LDFLAGS)

238 239 240
shared_libcrbtree_la_SOURCES = \
	shared/c-rbtree/src/c-rbtree.c \
	shared/c-rbtree/src/c-rbtree.h \
241 242
	shared/c-rbtree/src/c-rbtree-private.h \
	$(NULL)
243 244 245 246 247

###############################################################################

noinst_LTLIBRARIES += shared/libnacd.la

248 249 250 251 252 253
shared_libnacd_la_CFLAGS = \
	$(AM_CFLAGS) \
	-std=c11 \
	-Wno-pointer-arith \
	-Wno-vla \
	$(NULL)
254 255 256 257 258 259

shared_libnacd_la_CPPFLAGS = \
	-D_GNU_SOURCE \
	-DSO_ATTACH_BPF=50 \
	$(CODE_COVERAGE_CFLAGS) \
	$(SANITIZER_LIB_CFLAGS) \
260
	-I$(srcdir)/shared/c-stdaux/src \
261 262 263 264 265
	-I$(srcdir)/shared/c-list/src \
	-I$(srcdir)/shared/c-siphash/src \
	-I$(srcdir)/shared/c-rbtree/src \
	$(NULL)

266 267 268
shared_libnacd_la_LDFLAGS = \
	$(SANITIZER_LIB_LDFLAGS)

269 270 271 272 273 274
shared_libnacd_la_SOURCES = \
	shared/n-acd/src/n-acd.c \
	shared/n-acd/src/n-acd.h \
	shared/n-acd/src/n-acd-private.h \
	shared/n-acd/src/n-acd-probe.c \
	shared/n-acd/src/util/timer.c \
275 276
	shared/n-acd/src/util/timer.h \
	$(NULL)
277 278 279 280 281 282 283

if WITH_EBPF
shared_libnacd_la_SOURCES += shared/n-acd/src/n-acd-bpf.c
else
shared_libnacd_la_SOURCES += shared/n-acd/src/n-acd-bpf-fallback.c
endif

284 285 286
shared_libnacd_la_LIBADD = \
	shared/libcrbtree.la \
	$(NULL)
287 288 289

###############################################################################

290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318
noinst_LTLIBRARIES += shared/nm-std-aux/libnm-std-aux.la

shared_nm_std_aux_libnm_std_aux_la_CPPFLAGS = \
	$(dflt_cppflags) \
	-I$(srcdir)/shared \
	$(CODE_COVERAGE_CFLAGS) \
	$(SANITIZER_LIB_CFLAGS) \
	-DG_LOG_DOMAIN=\""libnm"\" \
	-DNETWORKMANAGER_COMPILATION='0' \
	$(NULL)

shared_nm_std_aux_libnm_std_aux_la_SOURCES = \
	shared/c-list/src/c-list.h \
	shared/nm-std-aux/c-list-util.c \
	shared/nm-std-aux/c-list-util.h \
	shared/nm-std-aux/unaligned.h \
	$(NULL)

shared_nm_std_aux_libnm_std_aux_la_LDFLAGS = \
	$(CODE_COVERAGE_LDFLAGS) \
	$(SANITIZER_LIB_LDFLAGS) \
	$(NULL)

shared_nm_std_aux_libnm_std_aux_la_LIBADD = \
	shared/libcsiphash.la \
	$(NULL)

###############################################################################

319
shared_nm_utils_libnm_utils_cppflags = \
320 321 322 323
	$(dflt_cppflags) \
	-I$(srcdir)/shared \
	$(CODE_COVERAGE_CFLAGS) \
	$(SANITIZER_LIB_CFLAGS) \
324 325 326
	$(GLIB_CFLAGS) \
	-DG_LOG_DOMAIN=\""libnm"\" \
	-DNETWORKMANAGER_COMPILATION='(NM_NETWORKMANAGER_COMPILATION_GLIB|NM_NETWORKMANAGER_COMPILATION_WITH_GLIB_I18N_LIB)' \
327 328
	$(NULL)

329 330 331 332 333 334 335 336
noinst_LTLIBRARIES += shared/nm-utils/libnm-utils-base.la

shared_nm_utils_libnm_utils_base_la_CPPFLAGS = \
	$(shared_nm_utils_libnm_utils_cppflags) \
	$(NULL)

shared_nm_utils_libnm_utils_base_la_SOURCES = \
	shared/nm-utils/nm-c-list.h \
337
	shared/nm-utils/nm-dedup-multi.c \
338
	shared/nm-utils/nm-dedup-multi.h \
339
	shared/nm-utils/nm-enum-utils.c \
340
	shared/nm-utils/nm-enum-utils.h \
341 342
	shared/nm-utils/nm-errno.c \
	shared/nm-utils/nm-errno.h \
343
	shared/nm-utils/nm-glib.h \
344
	shared/nm-utils/nm-hash-utils.c \
345
	shared/nm-utils/nm-hash-utils.h \
346
	shared/nm-utils/nm-io-utils.c \
347
	shared/nm-utils/nm-io-utils.h \
348
	shared/nm-utils/nm-logging-fwd.h \
349 350
	shared/nm-utils/nm-macros-internal.h \
	shared/nm-utils/nm-obj.h \
351
	shared/nm-utils/nm-random-utils.c \
352
	shared/nm-utils/nm-random-utils.h \
353
	shared/nm-utils/nm-secret-utils.c \
354
	shared/nm-utils/nm-secret-utils.h \
355
	shared/nm-utils/nm-shared-utils.c \
356
	shared/nm-utils/nm-shared-utils.h \
357
	shared/nm-utils/nm-time-utils.c \
358 359 360 361 362 363 364 365 366
	shared/nm-utils/nm-time-utils.h \
	$(NULL)

shared_nm_utils_libnm_utils_base_la_LDFLAGS = \
	$(CODE_COVERAGE_LDFLAGS) \
	$(SANITIZER_LIB_LDFLAGS) \
	$(NULL)

shared_nm_utils_libnm_utils_base_la_LIBADD = \
367
	shared/nm-std-aux/libnm-std-aux.la \
368 369 370 371 372
	$(GLIB_LIBS) \
	$(NULL)

###############################################################################

373
noinst_LTLIBRARIES += shared/nm-udev-aux/libnm-udev-aux.la
374

375
shared_nm_udev_aux_libnm_udev_aux_la_CPPFLAGS = \
376 377 378 379
	$(shared_nm_utils_libnm_utils_cppflags) \
	$(LIBUDEV_CFLAGS) \
	$(NULL)

380 381 382
shared_nm_udev_aux_libnm_udev_aux_la_SOURCES = \
	shared/nm-udev-aux/nm-udev-utils.c \
	shared/nm-udev-aux/nm-udev-utils.h \
383 384
	$(NULL)

385
shared_nm_udev_aux_libnm_udev_aux_la_LDFLAGS = \
386 387 388 389
	$(CODE_COVERAGE_LDFLAGS) \
	$(SANITIZER_LIB_LDFLAGS) \
	$(NULL)

390
shared_nm_udev_aux_libnm_udev_aux_la_LIBADD = \
391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406
	$(GLIB_LIBS) \
	$(LIBUDEV_LIBS) \
	$(NULL)

###############################################################################

check_programs += shared/nm-utils/tests/test-shared-general

shared_nm_utils_tests_test_shared_general_CPPFLAGS = \
	$(dflt_cppflags) \
	-I$(srcdir)/shared \
	-DNETWORKMANAGER_COMPILATION_TEST \
	-DNETWORKMANAGER_COMPILATION='(NM_NETWORKMANAGER_COMPILATION_GLIB|NM_NETWORKMANAGER_COMPILATION_WITH_GLIB_I18N_PROG)' \
	$(CODE_COVERAGE_CFLAGS) \
	$(GLIB_CFLAGS) \
	$(SANITIZER_LIB_CFLAGS) \
407 408
	$(NULL)

409 410 411 412 413
shared_nm_utils_tests_test_shared_general_LDFLAGS = \
	$(CODE_COVERAGE_LDFLAGS) \
	$(SANITIZER_EXEC_LDFLAGS) \
	$(NULL)

414
shared_nm_utils_tests_test_shared_general_LDADD = \
415
	shared/nm-utils/libnm-utils-base.la \
416 417 418 419 420
	$(GLIB_LIBS) \
	$(NULL)

###############################################################################

421 422 423
noinst_LTLIBRARIES += \
	introspection/libnmdbus.la

424
introspection_libnmdbus_la_CPPFLAGS = $(GLIB_CFLAGS)
425

426
introspection_sources = \
427 428 429 430 431 432
	introspection/org.freedesktop.NetworkManager.AccessPoint.c \
	introspection/org.freedesktop.NetworkManager.AccessPoint.h \
	introspection/org.freedesktop.NetworkManager.AgentManager.c \
	introspection/org.freedesktop.NetworkManager.AgentManager.h \
	introspection/org.freedesktop.NetworkManager.Checkpoint.c \
	introspection/org.freedesktop.NetworkManager.Checkpoint.h \
433 434 435 436 437 438
	introspection/org.freedesktop.NetworkManager.Connection.Active.c \
	introspection/org.freedesktop.NetworkManager.Connection.Active.h \
	introspection/org.freedesktop.NetworkManager.DHCP4Config.c \
	introspection/org.freedesktop.NetworkManager.DHCP4Config.h \
	introspection/org.freedesktop.NetworkManager.DHCP6Config.c \
	introspection/org.freedesktop.NetworkManager.DHCP6Config.h \
439 440
	introspection/org.freedesktop.NetworkManager.Device.Adsl.c \
	introspection/org.freedesktop.NetworkManager.Device.Adsl.h \
441 442
	introspection/org.freedesktop.NetworkManager.Device.Bluetooth.c \
	introspection/org.freedesktop.NetworkManager.Device.Bluetooth.h \
443 444 445 446
	introspection/org.freedesktop.NetworkManager.Device.Bond.c \
	introspection/org.freedesktop.NetworkManager.Device.Bond.h \
	introspection/org.freedesktop.NetworkManager.Device.Bridge.c \
	introspection/org.freedesktop.NetworkManager.Device.Bridge.h \
447 448
	introspection/org.freedesktop.NetworkManager.Device.Dummy.c \
	introspection/org.freedesktop.NetworkManager.Device.Dummy.h \
449 450 451 452
	introspection/org.freedesktop.NetworkManager.Device.Generic.c \
	introspection/org.freedesktop.NetworkManager.Device.Generic.h \
	introspection/org.freedesktop.NetworkManager.Device.IPTunnel.c \
	introspection/org.freedesktop.NetworkManager.Device.IPTunnel.h \
453 454
	introspection/org.freedesktop.NetworkManager.Device.Infiniband.c \
	introspection/org.freedesktop.NetworkManager.Device.Infiniband.h \
455 456
	introspection/org.freedesktop.NetworkManager.Device.Lowpan.c \
	introspection/org.freedesktop.NetworkManager.Device.Lowpan.h \
457 458
	introspection/org.freedesktop.NetworkManager.Device.Macsec.c \
	introspection/org.freedesktop.NetworkManager.Device.Macsec.h \
459 460 461 462 463 464
	introspection/org.freedesktop.NetworkManager.Device.Macvlan.c \
	introspection/org.freedesktop.NetworkManager.Device.Macvlan.h \
	introspection/org.freedesktop.NetworkManager.Device.Modem.c \
	introspection/org.freedesktop.NetworkManager.Device.Modem.h \
	introspection/org.freedesktop.NetworkManager.Device.OlpcMesh.c \
	introspection/org.freedesktop.NetworkManager.Device.OlpcMesh.h \
465 466
	introspection/org.freedesktop.NetworkManager.Device.OvsBridge.c \
	introspection/org.freedesktop.NetworkManager.Device.OvsBridge.h \
467 468
	introspection/org.freedesktop.NetworkManager.Device.OvsInterface.c \
	introspection/org.freedesktop.NetworkManager.Device.OvsInterface.h \
469 470
	introspection/org.freedesktop.NetworkManager.Device.OvsPort.c \
	introspection/org.freedesktop.NetworkManager.Device.OvsPort.h \
Beniamino Galvani's avatar
Beniamino Galvani committed
471 472
	introspection/org.freedesktop.NetworkManager.Device.Ppp.c \
	introspection/org.freedesktop.NetworkManager.Device.Ppp.h \
473 474 475 476 477 478 479 480 481 482 483 484
	introspection/org.freedesktop.NetworkManager.Device.Statistics.c \
	introspection/org.freedesktop.NetworkManager.Device.Statistics.h \
	introspection/org.freedesktop.NetworkManager.Device.Team.c \
	introspection/org.freedesktop.NetworkManager.Device.Team.h \
	introspection/org.freedesktop.NetworkManager.Device.Tun.c \
	introspection/org.freedesktop.NetworkManager.Device.Tun.h \
	introspection/org.freedesktop.NetworkManager.Device.Veth.c \
	introspection/org.freedesktop.NetworkManager.Device.Veth.h \
	introspection/org.freedesktop.NetworkManager.Device.Vlan.c \
	introspection/org.freedesktop.NetworkManager.Device.Vlan.h \
	introspection/org.freedesktop.NetworkManager.Device.Vxlan.c \
	introspection/org.freedesktop.NetworkManager.Device.Vxlan.h \
485 486
	introspection/org.freedesktop.NetworkManager.Device.WiMax.c \
	introspection/org.freedesktop.NetworkManager.Device.WiMax.h \
Thomas Haller's avatar
Thomas Haller committed
487 488
	introspection/org.freedesktop.NetworkManager.Device.WifiP2P.c \
	introspection/org.freedesktop.NetworkManager.Device.WifiP2P.h \
489 490
	introspection/org.freedesktop.NetworkManager.Device.WireGuard.c \
	introspection/org.freedesktop.NetworkManager.Device.WireGuard.h \
491 492
	introspection/org.freedesktop.NetworkManager.Device.Wired.c \
	introspection/org.freedesktop.NetworkManager.Device.Wired.h \
493 494
	introspection/org.freedesktop.NetworkManager.Device.Wireless.c \
	introspection/org.freedesktop.NetworkManager.Device.Wireless.h \
495 496
	introspection/org.freedesktop.NetworkManager.Device.Wpan.c \
	introspection/org.freedesktop.NetworkManager.Device.Wpan.h \
497 498
	introspection/org.freedesktop.NetworkManager.Device.c \
	introspection/org.freedesktop.NetworkManager.Device.h \
499 500
	introspection/org.freedesktop.NetworkManager.DnsManager.c \
	introspection/org.freedesktop.NetworkManager.DnsManager.h \
501 502 503 504
	introspection/org.freedesktop.NetworkManager.IP4Config.c \
	introspection/org.freedesktop.NetworkManager.IP4Config.h \
	introspection/org.freedesktop.NetworkManager.IP6Config.c \
	introspection/org.freedesktop.NetworkManager.IP6Config.h \
Thomas Haller's avatar
Thomas Haller committed
505 506
	introspection/org.freedesktop.NetworkManager.WifiP2PPeer.c \
	introspection/org.freedesktop.NetworkManager.WifiP2PPeer.h \
507 508 509 510 511 512 513 514 515 516 517
	introspection/org.freedesktop.NetworkManager.PPP.c \
	introspection/org.freedesktop.NetworkManager.PPP.h \
	introspection/org.freedesktop.NetworkManager.SecretAgent.c \
	introspection/org.freedesktop.NetworkManager.SecretAgent.h \
	introspection/org.freedesktop.NetworkManager.Settings.Connection.c \
	introspection/org.freedesktop.NetworkManager.Settings.Connection.h \
	introspection/org.freedesktop.NetworkManager.Settings.c \
	introspection/org.freedesktop.NetworkManager.Settings.h \
	introspection/org.freedesktop.NetworkManager.VPN.Connection.c \
	introspection/org.freedesktop.NetworkManager.VPN.Connection.h \
	introspection/org.freedesktop.NetworkManager.VPN.Plugin.c \
518 519 520 521
	introspection/org.freedesktop.NetworkManager.VPN.Plugin.h \
	introspection/org.freedesktop.NetworkManager.c \
	introspection/org.freedesktop.NetworkManager.h \
	$(NULL)
522

523 524
nodist_introspection_libnmdbus_la_SOURCES = $(introspection_sources)

525
DBUS_INTERFACE_DOCS = \
526
	docs/api/dbus-org.freedesktop.NetworkManager.AccessPoint.xml \
527
	docs/api/dbus-org.freedesktop.NetworkManager.AgentManager.xml \
528
	docs/api/dbus-org.freedesktop.NetworkManager.Checkpoint.xml \
529 530
	docs/api/dbus-org.freedesktop.NetworkManager.Connection.Active.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.DHCP4Config.xml \
531
	docs/api/dbus-org.freedesktop.NetworkManager.DHCP6Config.xml \
532
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Adsl.xml \
533 534
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Bluetooth.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Bond.xml \
535 536 537 538 539 540
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Bridge.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Dummy.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Generic.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.IPTunnel.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Infiniband.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Lowpan.xml \
541
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Macsec.xml \
542
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Macvlan.xml \
543
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Modem.xml \
544
	docs/api/dbus-org.freedesktop.NetworkManager.Device.OlpcMesh.xml \
545
	docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsBridge.xml \
546
	docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsInterface.xml \
547
	docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsPort.xml \
Beniamino Galvani's avatar
Beniamino Galvani committed
548
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Ppp.xml \
549 550 551
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Statistics.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Team.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Tun.xml \
552
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Veth.xml \
553 554 555
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Vlan.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Vxlan.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.WiMax.xml \
Thomas Haller's avatar
Thomas Haller committed
556
	docs/api/dbus-org.freedesktop.NetworkManager.Device.WifiP2P.xml \
557
	docs/api/dbus-org.freedesktop.NetworkManager.Device.WireGuard.xml \
558 559 560 561
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Wired.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Wireless.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Wpan.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.xml \
562
	docs/api/dbus-org.freedesktop.NetworkManager.DnsManager.xml \
563 564 565 566 567 568 569 570
	docs/api/dbus-org.freedesktop.NetworkManager.IP4Config.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.IP6Config.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.PPP.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.SecretAgent.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Settings.Connection.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Settings.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.VPN.Connection.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.VPN.Plugin.xml \
Thomas Haller's avatar
Thomas Haller committed
571
	docs/api/dbus-org.freedesktop.NetworkManager.WifiP2PPeer.xml \
572 573
	docs/api/dbus-org.freedesktop.NetworkManager.xml \
	$(NULL)
574 575

introspection/%.c: introspection/%.xml
576
	@$(MKDIR_P) introspection/
577 578 579
	$(AM_V_GEN) gdbus-codegen \
		--generate-c-code $(basename $@) \
		--generate-docbook docs/api/dbus \
580 581
		--c-namespace NMDBus \
		--interface-prefix org.freedesktop.NetworkManager \
582
		$<
583

584 585
introspection/%.h: introspection/%.c
	$()
586

587 588
docs/api/dbus-%.xml: introspection/%.c
	$()
589

590
dbusinterfacesdir = $(datadir)/dbus-1/interfaces
591

592
dbusinterfaces_DATA = \
593 594 595
	introspection/org.freedesktop.NetworkManager.AccessPoint.xml \
	introspection/org.freedesktop.NetworkManager.AgentManager.xml \
	introspection/org.freedesktop.NetworkManager.Checkpoint.xml \
Thomas Haller's avatar
Thomas Haller committed
596 597 598
	introspection/org.freedesktop.NetworkManager.Connection.Active.xml \
	introspection/org.freedesktop.NetworkManager.DHCP4Config.xml \
	introspection/org.freedesktop.NetworkManager.DHCP6Config.xml \
599
	introspection/org.freedesktop.NetworkManager.Device.Adsl.xml \
Thomas Haller's avatar
Thomas Haller committed
600
	introspection/org.freedesktop.NetworkManager.Device.Bluetooth.xml \
601 602
	introspection/org.freedesktop.NetworkManager.Device.Bond.xml \
	introspection/org.freedesktop.NetworkManager.Device.Bridge.xml \
603
	introspection/org.freedesktop.NetworkManager.Device.Dummy.xml \
604 605
	introspection/org.freedesktop.NetworkManager.Device.Generic.xml \
	introspection/org.freedesktop.NetworkManager.Device.IPTunnel.xml \
Thomas Haller's avatar
Thomas Haller committed
606
	introspection/org.freedesktop.NetworkManager.Device.Infiniband.xml \
607
	introspection/org.freedesktop.NetworkManager.Device.Lowpan.xml \
608
	introspection/org.freedesktop.NetworkManager.Device.Macsec.xml \
609 610 611
	introspection/org.freedesktop.NetworkManager.Device.Macvlan.xml \
	introspection/org.freedesktop.NetworkManager.Device.Modem.xml \
	introspection/org.freedesktop.NetworkManager.Device.OlpcMesh.xml \
Thomas Haller's avatar
Thomas Haller committed
612
	introspection/org.freedesktop.NetworkManager.Device.OvsBridge.xml \
613
	introspection/org.freedesktop.NetworkManager.Device.OvsInterface.xml \
614
	introspection/org.freedesktop.NetworkManager.Device.OvsPort.xml \
Beniamino Galvani's avatar
Beniamino Galvani committed
615
	introspection/org.freedesktop.NetworkManager.Device.Ppp.xml \
616 617 618 619 620 621
	introspection/org.freedesktop.NetworkManager.Device.Statistics.xml \
	introspection/org.freedesktop.NetworkManager.Device.Team.xml \
	introspection/org.freedesktop.NetworkManager.Device.Tun.xml \
	introspection/org.freedesktop.NetworkManager.Device.Veth.xml \
	introspection/org.freedesktop.NetworkManager.Device.Vlan.xml \
	introspection/org.freedesktop.NetworkManager.Device.Vxlan.xml \
Thomas Haller's avatar
Thomas Haller committed
622 623
	introspection/org.freedesktop.NetworkManager.Device.WiMax.xml \
	introspection/org.freedesktop.NetworkManager.Device.WifiP2P.xml \
624
	introspection/org.freedesktop.NetworkManager.Device.WireGuard.xml \
Thomas Haller's avatar
Thomas Haller committed
625
	introspection/org.freedesktop.NetworkManager.Device.Wired.xml \
626
	introspection/org.freedesktop.NetworkManager.Device.Wireless.xml \
627
	introspection/org.freedesktop.NetworkManager.Device.Wpan.xml \
628
	introspection/org.freedesktop.NetworkManager.Device.xml \
629
	introspection/org.freedesktop.NetworkManager.DnsManager.xml \
630 631 632 633 634 635 636 637
	introspection/org.freedesktop.NetworkManager.IP4Config.xml \
	introspection/org.freedesktop.NetworkManager.IP6Config.xml \
	introspection/org.freedesktop.NetworkManager.PPP.xml \
	introspection/org.freedesktop.NetworkManager.SecretAgent.xml \
	introspection/org.freedesktop.NetworkManager.Settings.Connection.xml \
	introspection/org.freedesktop.NetworkManager.Settings.xml \
	introspection/org.freedesktop.NetworkManager.VPN.Connection.xml \
	introspection/org.freedesktop.NetworkManager.VPN.Plugin.xml \
Thomas Haller's avatar
Thomas Haller committed
638 639 640 641
	introspection/org.freedesktop.NetworkManager.WiMax.Nsp.xml \
	introspection/org.freedesktop.NetworkManager.WifiP2PPeer.xml \
	introspection/org.freedesktop.NetworkManager.xml \
	$(NULL)
642

643 644
CLEANFILES += $(introspection_sources)
CLEANFILES += $(DBUS_INTERFACE_DOCS)
645

646 647 648 649
$(dispatcher_libnm_dispatcher_core_la_OBJECTS): $(introspection_sources)
$(dispatcher_nm_dispatcher_OBJECTS):            $(introspection_sources)
$(libnm_libnm_la_OBJECTS):                      $(introspection_sources)

650
EXTRA_DIST += \
651 652
	$(dbusinterfaces_DATA) \
	introspection/meson.build
653

654
check-docs:
655
	$(srcdir)/tools/check-docs.sh "$(srcdir)" "$(builddir)"
656 657 658

check_local += check-docs

659 660
###############################################################################

661
libnm_core_lib_h_pub_real = \
662 663 664 665 666
	shared/nm-version-macros.h \
	libnm-core/nm-connection.h \
	libnm-core/nm-core-types.h \
	libnm-core/nm-dbus-interface.h \
	libnm-core/nm-errors.h \
Lubomir Rintel's avatar
Lubomir Rintel committed
667
	libnm-core/nm-setting-6lowpan.h \
668 669 670 671 672 673 674 675 676
	libnm-core/nm-setting-8021x.h \
	libnm-core/nm-setting-adsl.h \
	libnm-core/nm-setting-bluetooth.h \
	libnm-core/nm-setting-bond.h \
	libnm-core/nm-setting-bridge-port.h \
	libnm-core/nm-setting-bridge.h \
	libnm-core/nm-setting-cdma.h \
	libnm-core/nm-setting-connection.h \
	libnm-core/nm-setting-dcb.h \
677
	libnm-core/nm-setting-dummy.h \
678
	libnm-core/nm-setting-ethtool.h \
679 680 681 682 683 684 685
	libnm-core/nm-setting-generic.h \
	libnm-core/nm-setting-gsm.h \
	libnm-core/nm-setting-infiniband.h \
	libnm-core/nm-setting-ip-config.h \
	libnm-core/nm-setting-ip-tunnel.h \
	libnm-core/nm-setting-ip4-config.h \
	libnm-core/nm-setting-ip6-config.h \
686
	libnm-core/nm-setting-macsec.h \
687
	libnm-core/nm-setting-macvlan.h \
Beniamino Galvani's avatar
Beniamino Galvani committed
688
	libnm-core/nm-setting-match.h \
689
	libnm-core/nm-setting-olpc-mesh.h \
690
	libnm-core/nm-setting-ovs-bridge.h \
691
	libnm-core/nm-setting-ovs-interface.h \
692
	libnm-core/nm-setting-ovs-patch.h \
693
	libnm-core/nm-setting-ovs-port.h \
694 695 696 697
	libnm-core/nm-setting-ppp.h \
	libnm-core/nm-setting-pppoe.h \
	libnm-core/nm-setting-proxy.h \
	libnm-core/nm-setting-serial.h \
698
	libnm-core/nm-setting-sriov.h \
699
	libnm-core/nm-setting-tc-config.h \
700 701 702
	libnm-core/nm-setting-team-port.h \
	libnm-core/nm-setting-team.h \
	libnm-core/nm-setting-tun.h \
Thomas Haller's avatar
Thomas Haller committed
703
	libnm-core/nm-setting-user.h \
704 705 706
	libnm-core/nm-setting-vlan.h \
	libnm-core/nm-setting-vpn.h \
	libnm-core/nm-setting-vxlan.h \
707
	libnm-core/nm-setting-wifi-p2p.h \
708 709
	libnm-core/nm-setting-wimax.h \
	libnm-core/nm-setting-wired.h \
710
	libnm-core/nm-setting-wireguard.h \
711 712
	libnm-core/nm-setting-wireless-security.h \
	libnm-core/nm-setting-wireless.h \
Lubomir Rintel's avatar
Lubomir Rintel committed
713
	libnm-core/nm-setting-wpan.h \
714 715 716 717 718 719 720
	libnm-core/nm-setting.h \
	libnm-core/nm-simple-connection.h \
	libnm-core/nm-utils.h \
	libnm-core/nm-version.h \
	libnm-core/nm-vpn-dbus-interface.h \
	libnm-core/nm-vpn-editor-plugin.h \
	libnm-core/nm-vpn-plugin-info.h
721
libnm_core_lib_h_pub_mkenums = \
722 723
	libnm-core/nm-core-enum-types.h
libnm_core_lib_h_priv = \
724
	shared/nm-ethtool-utils.h \
725
	shared/nm-libnm-core-utils.h \
726
	shared/nm-meta-setting.h \
727
	libnm-core/nm-crypto.h \
728
	libnm-core/nm-crypto-impl.h \
729 730 731 732 733 734 735 736
	libnm-core/nm-connection-private.h \
	libnm-core/nm-core-internal.h \
	libnm-core/nm-core-types-internal.h \
	libnm-core/nm-keyfile-internal.h \
	libnm-core/nm-keyfile-utils.h \
	libnm-core/nm-property-compare.h \
	libnm-core/nm-setting-private.h \
	libnm-core/nm-utils-private.h
737
libnm_core_lib_c_settings_real = \
Lubomir Rintel's avatar
Lubomir Rintel committed
738
	libnm-core/nm-setting-6lowpan.c \
739 740 741 742 743 744 745 746 747
	libnm-core/nm-setting-8021x.c \
	libnm-core/nm-setting-adsl.c \
	libnm-core/nm-setting-bluetooth.c \
	libnm-core/nm-setting-bond.c \
	libnm-core/nm-setting-bridge-port.c \
	libnm-core/nm-setting-bridge.c \
	libnm-core/nm-setting-cdma.c \
	libnm-core/nm-setting-connection.c \
	libnm-core/nm-setting-dcb.c \
748
	libnm-core/nm-setting-dummy.c \
749
	libnm-core/nm-setting-ethtool.c \
750 751 752 753 754 755 756
	libnm-core/nm-setting-generic.c \
	libnm-core/nm-setting-gsm.c \
	libnm-core/nm-setting-infiniband.c \
	libnm-core/nm-setting-ip-config.c \
	libnm-core/nm-setting-ip-tunnel.c \
	libnm-core/nm-setting-ip4-config.c \
	libnm-core/nm-setting-ip6-config.c \
757
	libnm-core/nm-setting-macsec.c \
758
	libnm-core/nm-setting-macvlan.c \
Beniamino Galvani's avatar
Beniamino Galvani committed
759
	libnm-core/nm-setting-match.c \
760
	libnm-core/nm-setting-olpc-mesh.c \
761
	libnm-core/nm-setting-ovs-bridge.c \
762
	libnm-core/nm-setting-ovs-interface.c \
763
	libnm-core/nm-setting-ovs-patch.c \
764
	libnm-core/nm-setting-ovs-port.c \
765 766 767 768
	libnm-core/nm-setting-ppp.c \
	libnm-core/nm-setting-pppoe.c \
	libnm-core/nm-setting-proxy.c \
	libnm-core/nm-setting-serial.c \
769
	libnm-core/nm-setting-sriov.c \
770
	libnm-core/nm-setting-tc-config.c \
771 772 773
	libnm-core/nm-setting-team-port.c \
	libnm-core/nm-setting-team.c \
	libnm-core/nm-setting-tun.c \
Thomas Haller's avatar
Thomas Haller committed
774
	libnm-core/nm-setting-user.c \
775 776 777
	libnm-core/nm-setting-vlan.c \
	libnm-core/nm-setting-vpn.c \
	libnm-core/nm-setting-vxlan.c \
778
	libnm-core/nm-setting-wifi-p2p.c \
779 780
	libnm-core/nm-setting-wimax.c \
	libnm-core/nm-setting-wired.c \
781
	libnm-core/nm-setting-wireguard.c \
782
	libnm-core/nm-setting-wireless-security.c \
Lubomir Rintel's avatar
Lubomir Rintel committed
783 784
	libnm-core/nm-setting-wireless.c \
	libnm-core/nm-setting-wpan.c
785 786
libnm_core_lib_c_real = \
	$(libnm_core_lib_c_settings_real) \
787
	shared/nm-ethtool-utils.c \
788
	shared/nm-libnm-core-utils.c \
789
	shared/nm-meta-setting.c \
790
	libnm-core/nm-crypto.c \
791 792 793
	libnm-core/nm-connection.c \
	libnm-core/nm-dbus-utils.c \
	libnm-core/nm-errors.c \
794
	libnm-core/nm-keyfile.c \
795 796
	libnm-core/nm-keyfile-utils.c \
	libnm-core/nm-property-compare.c \
797 798 799 800 801
	libnm-core/nm-setting.c \
	libnm-core/nm-simple-connection.c \
	libnm-core/nm-utils.c \
	libnm-core/nm-vpn-editor-plugin.c \
	libnm-core/nm-vpn-plugin-info.c
802 803 804

if WITH_JSON_VALIDATION
libnm_core_lib_h_priv += \
805
	libnm-core/nm-json.h
806
libnm_core_lib_c_real += \
807
	libnm-core/nm-json.c
808 809
endif

810
libnm_core_lib_c_mkenums = \
811 812 813 814
	libnm-core/nm-core-enum-types.c

libnminclude_HEADERS += \
	$(libnm_core_lib_h_pub_real)
815

816
nodist_libnminclude_HEADERS += \
817
	$(libnm_core_lib_h_pub_mkenums)
818 819 820

###############################################################################

821
dflt_cppflags_libnm_core = \
822
	$(dflt_cppflags) \
823 824 825 826
	-I$(srcdir)/shared \
	-I$(builddir)/shared \
	-I$(srcdir)/libnm-core \
	-I$(builddir)/libnm-core \
827
	$(CODE_COVERAGE_CFLAGS) \
828
	$(GLIB_CFLAGS) \
829
	$(LIBUDEV_CFLAGS) \
830 831
	$(SANITIZER_LIB_CFLAGS) \
	$(NULL)
832

833 834 835
noinst_LTLIBRARIES += libnm-core/libnm-core.la

GLIB_GENERATED += \
836 837
	$(libnm_core_lib_h_pub_mkenums) \
	$(libnm_core_lib_c_mkenums)
838
nm_core_enum_types_sources = $(libnm_core_lib_h_pub_real)
839

840 841
nm_core_enum_types_MKENUMS_C_FLAGS = --identifier-prefix NM --fhead '\#include "nm-default.h"\n'

842 843
libnm-core/nm-core-enum-types.h.stamp:                                      libnm-core/.dirstamp
libnm-core/nm-core-enum-types.c.stamp:                                      libnm-core/.dirstamp
844

845 846 847 848 849 850 851 852 853 854 855
$(dispatcher_libnm_dispatcher_core_la_OBJECTS):                             $(libnm_core_lib_h_pub_mkenums)
$(dispatcher_nm_dispatcher_OBJECTS):                                        $(libnm_core_lib_h_pub_mkenums)
$(libnm_core_libnm_core_la_OBJECTS):                                        $(libnm_core_lib_h_pub_mkenums)
$(libnm_libnm_la_OBJECTS):                                                  $(libnm_core_lib_h_pub_mkenums)
$(libnm_tests_libnm_vpn_plugin_utils_test_la_OBJECTS):                      $(libnm_core_lib_h_pub_mkenums)
$(src_NetworkManager_OBJECTS):                                              $(libnm_core_lib_h_pub_mkenums)
$(src_devices_adsl_libnm_device_plugin_adsl_la_OBJECTS):                    $(libnm_core_lib_h_pub_mkenums)
$(src_devices_bluetooth_libnm_device_plugin_bluetooth_la_OBJECTS):          $(libnm_core_lib_h_pub_mkenums)
$(src_devices_team_libnm_device_plugin_team_la_OBJECTS):                    $(libnm_core_lib_h_pub_mkenums)
$(src_devices_wifi_libnm_device_plugin_wifi_la_OBJECTS):                    $(libnm_core_lib_h_pub_mkenums)
$(src_devices_wwan_libnm_device_plugin_wwan_la_OBJECTS):                    $(libnm_core_lib_h_pub_mkenums)
856
$(src_devices_ovs_libnm_device_plugin_ovs_la_OBJECTS):                      $(libnm_core_lib_h_pub_mkenums)
857

858
libnm_core_libnm_core_la_CPPFLAGS = \
859
	$(dflt_cppflags_libnm_core) \
860
	-DG_LOG_DOMAIN=\""libnm"\" \
861 862
	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM_CORE \
	$(NULL)
863

864 865 866 867
if WITH_JSON_VALIDATION
libnm_core_libnm_core_la_CPPFLAGS += $(JANSSON_CFLAGS)
endif

868
libnm_core_libnm_core_la_SOURCES = \
869 870 871 872 873
	$(libnm_core_lib_h_pub_real) \
	$(libnm_core_lib_h_priv) \
	$(libnm_core_lib_c_real)

nodist_libnm_core_libnm_core_la_SOURCES = \
874 875
	$(libnm_core_lib_h_pub_mkenums) \
	$(libnm_core_lib_c_mkenums)
876 877 878

libnm_core_libnm_core_la_LIBADD = \
	$(GLIB_LIBS) \
879
	$(UUID_LIBS) \
880
	$(NULL)
881

882
libnm_core_libnm_core_la_LDFLAGS = \
883 884
	$(CODE_COVERAGE_LDFLAGS) \
	$(SANITIZER_LIB_LDFLAGS)
885

886
EXTRA_DIST += \
887 888
	libnm-core/nm-crypto-gnutls.c \
	libnm-core/nm-crypto-nss.c \
889 890 891
	libnm-core/nm-core-enum-types.c.template \
	libnm-core/nm-core-enum-types.h.template \
	libnm-core/meson.build
892

893
libnm-core/nm-vpn-dbus-types.xml: libnm-core/nm-vpn-dbus-interface.h tools/enums-to-docbook.pl
894
	@$(MKDIR_P) libnm-core/
895
	$(AM_V_GEN) @PERL@ $(srcdir)/tools/enums-to-docbook.pl 'nm-vpn-dbus-types' 'VPN Plugin D-Bus API Types' $< >$@
896

897
libnm-core/nm-dbus-types.xml: libnm-core/nm-dbus-interface.h tools/enums-to-docbook.pl
898
	@$(MKDIR_P) libnm-core/
899
	$(AM_V_GEN) @PERL@ $(srcdir)/tools/enums-to-docbook.pl 'nm-dbus-types' 'NetworkManager D-Bus API Types' $< >$@
900 901 902 903 904

BUILT_SOURCES += \
	libnm-core/nm-vpn-dbus-types.xml \
	libnm-core/nm-dbus-types.xml

905 906 907 908
dist_dependencies += \
	libnm-core/nm-vpn-dbus-types.xml \
	libnm-core/nm-dbus-types.xml

909 910
###############################################################################

911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950
if HAVE_CRYPTO_GNUTLS
if WITH_GNUTLS
libnm_crypto_lib = libnm-core/libnm-crypto-gnutls.la
else
check_ltlibraries += libnm-core/libnm-crypto-gnutls.la
endif

libnm_core_libnm_crypto_gnutls_la_SOURCES = libnm-core/nm-crypto-gnutls.c
libnm_core_libnm_crypto_gnutls_la_CPPFLAGS = \
	$(libnm_core_libnm_core_la_CPPFLAGS) \
	$(GNUTLS_CFLAGS)
libnm_core_libnm_crypto_gnutls_la_LDFLAGS = \
	$(libnm_core_libnm_core_la_LDFLAGS)
libnm_core_libnm_crypto_gnutls_la_LIBADD = \
	$(libnm_core_libnm_core_la_LIBADD) \
	$(GNUTLS_LIBS)
endif

if HAVE_CRYPTO_NSS
if WITH_NSS
libnm_crypto_lib = libnm-core/libnm-crypto-nss.la
else
check_ltlibraries += libnm-core/libnm-crypto-nss.la
endif

libnm_core_libnm_crypto_nss_la_SOURCES = libnm-core/nm-crypto-nss.c
libnm_core_libnm_crypto_nss_la_CPPFLAGS = \
	$(libnm_core_libnm_core_la_CPPFLAGS) \
	$(NSS_CFLAGS)
libnm_core_libnm_crypto_nss_la_LDFLAGS = \
	$(libnm_core_libnm_core_la_LDFLAGS)
libnm_core_libnm_crypto_nss_la_LIBADD = \
	$(libnm_core_libnm_core_la_LIBADD) \
	$(NSS_LIBS)
endif

noinst_LTLIBRARIES += $(libnm_crypto_lib)

###############################################################################

951
check_programs += \
952 953 954 955 956
	libnm-core/tests/test-compare \
	libnm-core/tests/test-crypto \
	libnm-core/tests/test-general \
	libnm-core/tests/test-keyfile \
	libnm-core/tests/test-secrets \
957
	libnm-core/tests/test-setting \
958 959 960 961 962 963 964
	libnm-core/tests/test-settings-defaults

GLIB_GENERATED += \
	libnm-core/tests/nm-core-tests-enum-types.h \
	libnm-core/tests/nm-core-tests-enum-types.c
nm_core_tests_enum_types_sources = libnm-core/tests/test-general-enums.h

965 966 967
libnm-core/tests/nm-core-tests-enum-types.h.stamp: libnm-core/tests/.dirstamp
libnm-core/tests/nm-core-tests-enum-types.c.stamp: libnm-core/tests/.dirstamp

968 969
$(libnm_core_tests_test_general_OBJECTS): libnm-core/tests/nm-core-tests-enum-types.h

970 971
libnm_core_tests_cppflags = \
	-I$(srcdir)/libnm-core/tests \
972
	-I$(builddir)/libnm-core/tests \
973
	$(dflt_cppflags_libnm_core) \
974 975
	-DNETWORKMANAGER_COMPILATION_TEST \
	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM_CORE \
976
	$(SANITIZER_EXEC_CFLAGS) \
977
	$(NULL)
978 979 980 981 982 983

libnm_core_tests_test_compare_CPPFLAGS = $(libnm_core_tests_cppflags)
libnm_core_tests_test_crypto_CPPFLAGS = $(libnm_core_tests_cppflags)
libnm_core_tests_test_general_CPPFLAGS = $(libnm_core_tests_cppflags)
libnm_core_tests_test_keyfile_CPPFLAGS = $(libnm_core_tests_cppflags)
libnm_core_tests_test_secrets_CPPFLAGS = $(libnm_core_tests_cppflags)
984
libnm_core_tests_test_setting_CPPFLAGS = $(libnm_core_tests_cppflags)
985 986 987 988 989 990
libnm_core_tests_test_settings_defaults_CPPFLAGS = $(libnm_core_tests_cppflags)

libnm_core_tests_test_general_SOURCES = \
	libnm-core/tests/test-general-enums.h \
	libnm-core/tests/test-general.c

991 992 993 994
nodist_libnm_core_tests_test_general_SOURCES = \
	libnm-core/tests/nm-core-tests-enum-types.c \
	libnm-core/tests/nm-core-tests-enum-types.h

995 996
libnm_core_tests_ldadd = \
	libnm-core/libnm-core.la \
997 998
	shared/systemd/libnm-systemd-shared.la \
	shared/systemd/libnm-systemd-logging-stub.la \
999
	shared/nm-utils/libnm-utils-base.la \
1000
	$(libnm_crypto_lib) \
1001 1002
	$(GLIB_LIBS)

1003
libnm_core_tests_ldflags = \
1004
	$(SANITIZER_EXEC_LDFLAGS)
1005

1006 1007 1008 1009 1010
libnm_core_tests_test_compare_LDADD = $(libnm_core_tests_ldadd)
libnm_core_tests_test_crypto_LDADD = $(libnm_core_tests_ldadd)
libnm_core_tests_test_general_LDADD = $(libnm_core_tests_ldadd)
libnm_core_tests_test_keyfile_LDADD = $(libnm_core_tests_ldadd)
libnm_core_tests_test_secrets_LDADD = $(libnm_core_tests_ldadd)
1011
libnm_core_tests_test_setting_LDADD = $(libnm_core_tests_ldadd)
1012 1013
libnm_core_tests_test_settings_defaults_LDADD = $(libnm_core_tests_ldadd)

1014 1015 1016 1017 1018 1019 1020 1021
libnm_core_tests_test_compare_LDFLAGS = $(libnm_core_tests_ldflags)
libnm_core_tests_test_crypto_LDFLAGS = $(libnm_core_tests_ldflags)
libnm_core_tests_test_general_LDFLAGS = $(libnm_core_tests_ldflags)
libnm_core_tests_test_keyfile_LDFLAGS = $(libnm_core_tests_ldflags)
libnm_core_tests_test_secrets_LDFLAGS = $(libnm_core_tests_ldflags)
libnm_core_tests_test_setting_LDFLAGS = $(libnm_core_tests_ldflags)
libnm_core_tests_test_settings_defaults_LDFLAGS = $(libnm_core_tests_ldflags)

1022 1023 1024 1025 1026
$(libnm_core_tests_test_compare_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
$(libnm_core_tests_test_crypto_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
$(libnm_core_tests_test_general_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
$(libnm_core_tests_test_keyfile_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
$(libnm_core_tests_test_secrets_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
1027
$(libnm_core_tests_test_setting_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
1028 1029
$(libnm_core_tests_test_settings_defaults_OBJECTS): $(libnm_core_lib_h_pub_mkenums)

1030 1031 1032
# test-cert.p12 created with:
#
# openssl pkcs12 -export \
1033 1034 1035 1036 1037
#    -in test_key_and_cert.pem \
#    -inkey test_key_and_cert.pem \
#    -certfile test_ca_cert.pem \
#    -name "test-pkcs12" \
#    -out test-cert.p12
1038 1039 1040 1041 1042 1043 1044 1045 1046

EXTRA_DIST += \
	libnm-core/tests/certs/ca-no-ending-newline.pem \
	libnm-core/tests/certs/pkcs8-decrypted.der \
	libnm-core/tests/certs/pkcs8-enc-key.pem \
	libnm-core/tests/certs/pkcs8-noenc-key.pem \
	libnm-core/tests/certs/test2_ca_cert.pem \
	libnm-core/tests/certs/test2-cert.p12 \
	libnm-core/tests/certs/test2_key_and_cert.pem \
1047 1048
	libnm-core/tests/certs/test-aes-128-key.pem \
	libnm-core/tests/certs/test-aes-256-key.pem \
1049 1050 1051 1052 1053 1054 1055 1056
	libnm-core/tests/certs/test_ca_cert.der \
	libnm-core/tests/certs/test_ca_cert.pem \
	libnm-core/tests/certs/test-ca-cert.pem \
	libnm-core/tests/certs/test-cert.p12 \
	libnm-core/tests/certs/test_key_and_cert.pem \
	libnm-core/tests/certs/test-key-and-cert.pem \
	libnm-core/tests/certs/test-key-only-decrypted.der \
	libnm-core/tests/certs/test-key-only-decrypted.pem \
1057 1058 1059 1060
	libnm-core/tests/certs/test-key-only.pem \
	libnm-core/tests/nm-core-tests-enum-types.c.template \
	libnm-core/tests/nm-core-tests-enum-types.h.template \
	libnm-core/tests/meson.build
1061 1062 1063

###############################################################################

1064
libnm_lib_h_pub_real = \
1065 1066 1067 1068
	shared/nm-version-macros.h \
	libnm/NetworkManager.h \
	libnm/nm-access-point.h \
	libnm/nm-active-connection.h \
1069
	libnm/nm-autoptr.h \
1070
	libnm/nm-checkpoint.h \
1071
	libnm/nm-client.h \
1072
	libnm/nm-device-6lowpan.h \
1073 1074 1075 1076
	libnm/nm-device-adsl.h \
	libnm/nm-device-bond.h \
	libnm/nm-device-bridge.h \
	libnm/nm-device-bt.h \
1077
	libnm/nm-device-dummy.h \
1078 1079 1080 1081
	libnm/nm-device-ethernet.h \
	libnm/nm-device-generic.h \
	libnm/nm-device-infiniband.h \
	libnm/nm-device-ip-tunnel.h \
1082
	libnm/nm-device-macsec.h \
1083 1084 1085
	libnm/nm-device-macvlan.h \
	libnm/nm-device-modem.h \
	libnm/nm-device-olpc-mesh.h \
1086
	libnm/nm-device-ovs-bridge.h \
1087
	libnm/nm-device-ovs-interface.h \
1088
	libnm/nm-device-ovs-port.h \
Beniamino Galvani's avatar
Beniamino Galvani committed
1089
	libnm/nm-device-ppp.h \
1090 1091 1092 1093
	libnm/nm-device-team.h \
	libnm/nm-device-tun.h \
	libnm/nm-device-vlan.h \
	libnm/nm-device-vxlan.h \
1094
	libnm/nm-device-wifi-p2p.h \
1095 1096
	libnm/nm-device-wifi.h \
	libnm/nm-device-wimax.h \
1097
	libnm/nm-device-wireguard.h \
1098
	libnm/nm-device-wpan.h \
1099 1100 1101 1102 1103
	libnm/nm-device.h \
	libnm/nm-dhcp-config.h \
	libnm/nm-ip-config.h \
	libnm/nm-object.h \
	libnm/nm-remote-connection.h \
1104
	libnm/nm-secret-agent-old.h \
1105 1106 1107 1108
	libnm/nm-types.h \
	libnm/nm-vpn-connection.h \
	libnm/nm-vpn-editor.h \
	libnm/nm-vpn-plugin-old.h \
1109
	libnm/nm-vpn-service-plugin.h \
1110
	libnm/nm-wifi-p2p-peer.h \
1111
	libnm/nm-wimax-nsp.h
1112
libnm_lib_h_pub_mkenums = \
1113 1114
	libnm/nm-enum-types.h
libnm_lib_h_priv = \
1115
	libnm/nm-libnm-utils.h \
1116 1117 1118 1119
	libnm/nm-dbus-helpers.h \
	libnm/nm-device-private.h \
	libnm/nm-dhcp4-config.h \
	libnm/nm-dhcp6-config.h \
1120
	libnm/nm-dns-manager.h \
1121 1122 1123 1124 1125 1126
	libnm/nm-ip4-config.h \
	libnm/nm-ip6-config.h \
	libnm/nm-manager.h \
	libnm/nm-object-private.h \
	libnm/nm-remote-connection-private.h \
	libnm/nm-remote-settings.h
1127
libnm_lib_c_real = \
1128 1129
	libnm/nm-access-point.c \
	libnm/nm-active-connection.c \
1130
	libnm/nm-checkpoint.c \
1131 1132
	libnm/nm-client.c \
	libnm/nm-dbus-helpers.c \
1133
	libnm/nm-device-6lowpan.c \
1134 1135 1136 1137
	libnm/nm-device-adsl.c \
	libnm/nm-device-bond.c \
	libnm/nm-device-bridge.c \
	libnm/nm-device-bt.c \
1138
	libnm/nm-device-dummy.c \
1139 1140 1141 1142
	libnm/nm-device-ethernet.c \
	libnm/nm-device-generic.c \
	libnm/nm-device-infiniband.c \
	libnm/nm-device-ip-tunnel.c \
1143
	libnm/nm-device-macsec.c \
1144 1145 1146
	libnm/nm-device-macvlan.c \
	libnm/nm-device-modem.c \
	libnm/nm-device-olpc-mesh.c \
1147
	libnm/nm-device-ovs-bridge.c \
1148
	libnm/nm-device-ovs-interface.c \