Makefile.am 177 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
# 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 RUNSTATEDIR       \"$(runstatedir)\""     >>$@ && \
	echo "#define SYSCONFDIR        \"$(sysconfdir)\""      >>$@ && \
	true

DISTCLEANFILES += config-extra.h

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

###############################################################################
139

140 141
set_sanitizer_env = \
	[ -n "$(SANITIZER_ENV)" ] && export $(SANITIZER_ENV) ; \
142 143 144
	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)"; \
145 146 147
	fi

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

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

153 154 155 156 157 158 159 160 161
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 \
162 163 164
	--enable-config-plugin-ibft \
	--disable-dependency-tracking \
	$(NULL)
165

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

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

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

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

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

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

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

@INTLTOOL_POLICY_RULE@

DISTCLEANFILES += $(polkit_policy_DATA)

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

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

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

198 199
noinst_LTLIBRARIES += shared/libcsiphash.la

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

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

211
shared_libcsiphash_la_LDFLAGS = \
212 213
	$(SANITIZER_LIB_LDFLAGS) \
	$(NULL)
214

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
shared_libcrbtree_la_LDFLAGS = \
236 237
	$(SANITIZER_LIB_LDFLAGS) \
	$(NULL)
238

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

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

noinst_LTLIBRARIES += shared/libnacd.la

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

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

267
shared_libnacd_la_LDFLAGS = \
268 269
	$(SANITIZER_LIB_LDFLAGS) \
	$(NULL)
270

271 272 273 274 275 276
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 \
277 278
	shared/n-acd/src/util/timer.h \
	$(NULL)
279 280 281 282 283 284 285 286 287

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

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

288 289 290 291 292 293 294 295 296 297 298 299 300 301 302
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 \
303
	shared/nm-std-aux/nm-dbus-compat.h \
304 305 306 307 308 309 310 311 312 313
	shared/nm-std-aux/unaligned.h \
	$(NULL)

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

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

314
shared_nm_glib_aux_cppflags = \
315 316 317 318
	$(dflt_cppflags) \
	-I$(srcdir)/shared \
	$(CODE_COVERAGE_CFLAGS) \
	$(SANITIZER_LIB_CFLAGS) \
319 320 321
	$(GLIB_CFLAGS) \
	-DG_LOG_DOMAIN=\""libnm"\" \
	-DNETWORKMANAGER_COMPILATION='(NM_NETWORKMANAGER_COMPILATION_GLIB|NM_NETWORKMANAGER_COMPILATION_WITH_GLIB_I18N_LIB)' \
322 323
	$(NULL)

324
noinst_LTLIBRARIES += shared/nm-glib-aux/libnm-glib-aux.la
325

326 327
shared_nm_glib_aux_libnm_glib_aux_la_CPPFLAGS = \
	$(shared_nm_glib_aux_cppflags) \
328 329
	$(NULL)

330 331
shared_nm_glib_aux_libnm_glib_aux_la_SOURCES = \
	shared/nm-glib-aux/nm-c-list.h \
332 333
	shared/nm-glib-aux/nm-dbus-aux.c \
	shared/nm-glib-aux/nm-dbus-aux.h \
334 335 336 337 338 339 340 341 342 343 344 345
	shared/nm-glib-aux/nm-dedup-multi.c \
	shared/nm-glib-aux/nm-dedup-multi.h \
	shared/nm-glib-aux/nm-enum-utils.c \
	shared/nm-glib-aux/nm-enum-utils.h \
	shared/nm-glib-aux/nm-errno.c \
	shared/nm-glib-aux/nm-errno.h \
	shared/nm-glib-aux/nm-glib.h \
	shared/nm-glib-aux/nm-hash-utils.c \
	shared/nm-glib-aux/nm-hash-utils.h \
	shared/nm-glib-aux/nm-io-utils.c \
	shared/nm-glib-aux/nm-io-utils.h \
	shared/nm-glib-aux/nm-jansson.h \
346 347
	shared/nm-glib-aux/nm-json-aux.c \
	shared/nm-glib-aux/nm-json-aux.h \
348 349
	shared/nm-glib-aux/nm-keyfile-aux.c \
	shared/nm-glib-aux/nm-keyfile-aux.h \
350 351 352 353 354 355 356 357 358 359 360
	shared/nm-glib-aux/nm-logging-fwd.h \
	shared/nm-glib-aux/nm-macros-internal.h \
	shared/nm-glib-aux/nm-obj.h \
	shared/nm-glib-aux/nm-random-utils.c \
	shared/nm-glib-aux/nm-random-utils.h \
	shared/nm-glib-aux/nm-secret-utils.c \
	shared/nm-glib-aux/nm-secret-utils.h \
	shared/nm-glib-aux/nm-shared-utils.c \
	shared/nm-glib-aux/nm-shared-utils.h \
	shared/nm-glib-aux/nm-time-utils.c \
	shared/nm-glib-aux/nm-time-utils.h \
361
	shared/nm-glib-aux/nm-value-type.h \
362 363
	$(NULL)

364
shared_nm_glib_aux_libnm_glib_aux_la_LDFLAGS = \
365 366 367 368
	$(CODE_COVERAGE_LDFLAGS) \
	$(SANITIZER_LIB_LDFLAGS) \
	$(NULL)

369
shared_nm_glib_aux_libnm_glib_aux_la_LIBADD = \
370 371 372 373 374
	$(GLIB_LIBS) \
	$(NULL)

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

375
noinst_LTLIBRARIES += shared/nm-udev-aux/libnm-udev-aux.la
376

377
shared_nm_udev_aux_libnm_udev_aux_la_CPPFLAGS = \
378
	$(shared_nm_glib_aux_cppflags) \
379 380 381
	$(LIBUDEV_CFLAGS) \
	$(NULL)

382 383 384
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 \
385 386
	$(NULL)

387
shared_nm_udev_aux_libnm_udev_aux_la_LDFLAGS = \
388 389 390 391
	$(CODE_COVERAGE_LDFLAGS) \
	$(SANITIZER_LIB_LDFLAGS) \
	$(NULL)

392
shared_nm_udev_aux_libnm_udev_aux_la_LIBADD = \
393 394 395 396 397 398
	$(GLIB_LIBS) \
	$(LIBUDEV_LIBS) \
	$(NULL)

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

399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451
noinst_LTLIBRARIES += shared/nm-libnm-core-intern/libnm-libnm-core-intern.la

shared_nm_libnm_core_intern_libnm_libnm_core_intern_la_CPPFLAGS = \
	$(dflt_cppflags) \
	-I$(srcdir)/shared \
	-I$(builddir)/shared \
	-I$(srcdir)/libnm-core \
	-I$(builddir)/libnm-core \
	$(CODE_COVERAGE_CFLAGS) \
	$(GLIB_CFLAGS) \
	$(SANITIZER_LIB_CFLAGS) \
	-DG_LOG_DOMAIN=\""libnm"\" \
	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM_CORE \
	$(NULL)

shared_nm_libnm_core_intern_libnm_libnm_core_intern_la_SOURCES = \
	shared/nm-libnm-core-intern/nm-common-macros.h \
	shared/nm-libnm-core-intern/nm-ethtool-utils.c \
	shared/nm-libnm-core-intern/nm-ethtool-utils.h \
	shared/nm-libnm-core-intern/nm-libnm-core-utils.c \
	shared/nm-libnm-core-intern/nm-libnm-core-utils.h \
	$(NULL)

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

shared_nm_libnm_core_intern_libnm_libnm_core_intern_la_LIBADD = \
	$(GLIB_LIBS) \
	$(NULL)

$(shared_nm_libnm_core_intern_libnm_libnm_core_intern_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)

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

noinst_LTLIBRARIES += shared/nm-libnm-core-aux/libnm-libnm-core-aux.la

shared_nm_libnm_core_aux_libnm_libnm_core_aux_la_CPPFLAGS = \
	$(dflt_cppflags) \
	-I$(srcdir)/shared \
	-I$(builddir)/shared \
	-I$(srcdir)/libnm-core \
	-I$(builddir)/libnm-core \
	$(CODE_COVERAGE_CFLAGS) \
	$(GLIB_CFLAGS) \
	$(SANITIZER_LIB_CFLAGS) \
	-DG_LOG_DOMAIN=\""libnm"\" \
	-DNETWORKMANAGER_COMPILATION='(NM_NETWORKMANAGER_COMPILATION_WITH_GLIB|NM_NETWORKMANAGER_COMPILATION_WITH_GLIB_I18N_LIB)' \
	$(NULL)

shared_nm_libnm_core_aux_libnm_libnm_core_aux_la_SOURCES = \
	shared/nm-libnm-core-aux/nm-dispatcher-api.h \
452 453
	shared/nm-libnm-core-aux/nm-libnm-core-aux.c \
	shared/nm-libnm-core-aux/nm-libnm-core-aux.h \
454 455 456 457 458 459 460 461 462 463 464 465 466 467 468
	$(NULL)

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

shared_nm_libnm_core_aux_libnm_libnm_core_aux_la_LIBADD = \
	$(GLIB_LIBS) \
	$(NULL)

$(shared_nm_libnm_core_aux_libnm_libnm_core_aux_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)

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

469 470 471 472 473 474 475 476 477 478
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) \
479 480
	$(NULL)

481 482 483 484 485
shared_nm_utils_tests_test_shared_general_LDFLAGS = \
	$(CODE_COVERAGE_LDFLAGS) \
	$(SANITIZER_EXEC_LDFLAGS) \
	$(NULL)

486
shared_nm_utils_tests_test_shared_general_LDADD = \
487
	shared/nm-glib-aux/libnm-glib-aux.la \
488
	shared/systemd/libnm-systemd-logging-stub.la \
489
	shared/nm-std-aux/libnm-std-aux.la \
490
	shared/libcsiphash.la \
491 492 493 494 495
	$(GLIB_LIBS) \
	$(NULL)

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

496
noinst_LTLIBRARIES += introspection/libnmdbus.la
497

498
introspection_libnmdbus_la_CPPFLAGS = $(GLIB_CFLAGS)
499

500
introspection_sources = \
501 502 503 504 505 506
	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 \
507 508 509 510 511 512
	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 \
513 514
	introspection/org.freedesktop.NetworkManager.Device.Adsl.c \
	introspection/org.freedesktop.NetworkManager.Device.Adsl.h \
515 516
	introspection/org.freedesktop.NetworkManager.Device.Bluetooth.c \
	introspection/org.freedesktop.NetworkManager.Device.Bluetooth.h \
517 518 519 520
	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 \
521 522
	introspection/org.freedesktop.NetworkManager.Device.Dummy.c \
	introspection/org.freedesktop.NetworkManager.Device.Dummy.h \
523 524 525 526
	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 \
527 528
	introspection/org.freedesktop.NetworkManager.Device.Infiniband.c \
	introspection/org.freedesktop.NetworkManager.Device.Infiniband.h \
529 530
	introspection/org.freedesktop.NetworkManager.Device.Lowpan.c \
	introspection/org.freedesktop.NetworkManager.Device.Lowpan.h \
531 532
	introspection/org.freedesktop.NetworkManager.Device.Macsec.c \
	introspection/org.freedesktop.NetworkManager.Device.Macsec.h \
533 534 535 536 537 538
	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 \
539 540
	introspection/org.freedesktop.NetworkManager.Device.OvsBridge.c \
	introspection/org.freedesktop.NetworkManager.Device.OvsBridge.h \
541 542
	introspection/org.freedesktop.NetworkManager.Device.OvsInterface.c \
	introspection/org.freedesktop.NetworkManager.Device.OvsInterface.h \
543 544
	introspection/org.freedesktop.NetworkManager.Device.OvsPort.c \
	introspection/org.freedesktop.NetworkManager.Device.OvsPort.h \
545 546
	introspection/org.freedesktop.NetworkManager.Device.Ppp.c \
	introspection/org.freedesktop.NetworkManager.Device.Ppp.h \
547 548 549 550 551 552 553 554 555 556 557 558
	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 \
559 560
	introspection/org.freedesktop.NetworkManager.Device.WiMax.c \
	introspection/org.freedesktop.NetworkManager.Device.WiMax.h \
561 562
	introspection/org.freedesktop.NetworkManager.Device.WifiP2P.c \
	introspection/org.freedesktop.NetworkManager.Device.WifiP2P.h \
563 564
	introspection/org.freedesktop.NetworkManager.Device.WireGuard.c \
	introspection/org.freedesktop.NetworkManager.Device.WireGuard.h \
565 566
	introspection/org.freedesktop.NetworkManager.Device.Wired.c \
	introspection/org.freedesktop.NetworkManager.Device.Wired.h \
567 568
	introspection/org.freedesktop.NetworkManager.Device.Wireless.c \
	introspection/org.freedesktop.NetworkManager.Device.Wireless.h \
569 570
	introspection/org.freedesktop.NetworkManager.Device.Wpan.c \
	introspection/org.freedesktop.NetworkManager.Device.Wpan.h \
571 572
	introspection/org.freedesktop.NetworkManager.Device.c \
	introspection/org.freedesktop.NetworkManager.Device.h \
573 574
	introspection/org.freedesktop.NetworkManager.DnsManager.c \
	introspection/org.freedesktop.NetworkManager.DnsManager.h \
575 576 577 578
	introspection/org.freedesktop.NetworkManager.IP4Config.c \
	introspection/org.freedesktop.NetworkManager.IP4Config.h \
	introspection/org.freedesktop.NetworkManager.IP6Config.c \
	introspection/org.freedesktop.NetworkManager.IP6Config.h \
579 580
	introspection/org.freedesktop.NetworkManager.WifiP2PPeer.c \
	introspection/org.freedesktop.NetworkManager.WifiP2PPeer.h \
581 582 583 584 585 586 587 588 589 590 591
	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 \
592 593 594 595
	introspection/org.freedesktop.NetworkManager.VPN.Plugin.h \
	introspection/org.freedesktop.NetworkManager.c \
	introspection/org.freedesktop.NetworkManager.h \
	$(NULL)
596

597 598
nodist_introspection_libnmdbus_la_SOURCES = $(introspection_sources)

599
DBUS_INTERFACE_DOCS = \
600
	docs/api/dbus-org.freedesktop.NetworkManager.AccessPoint.xml \
601
	docs/api/dbus-org.freedesktop.NetworkManager.AgentManager.xml \
602
	docs/api/dbus-org.freedesktop.NetworkManager.Checkpoint.xml \
603 604
	docs/api/dbus-org.freedesktop.NetworkManager.Connection.Active.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.DHCP4Config.xml \
605
	docs/api/dbus-org.freedesktop.NetworkManager.DHCP6Config.xml \
606
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Adsl.xml \
607 608
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Bluetooth.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Bond.xml \
609 610 611 612 613 614
	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 \
615
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Macsec.xml \
616
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Macvlan.xml \
617
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Modem.xml \
618
	docs/api/dbus-org.freedesktop.NetworkManager.Device.OlpcMesh.xml \
619
	docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsBridge.xml \
620
	docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsInterface.xml \
621
	docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsPort.xml \
622
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Ppp.xml \
623 624 625
	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 \
626
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Veth.xml \
627 628 629
	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 \
630
	docs/api/dbus-org.freedesktop.NetworkManager.Device.WifiP2P.xml \
631
	docs/api/dbus-org.freedesktop.NetworkManager.Device.WireGuard.xml \
632 633 634 635
	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 \
636
	docs/api/dbus-org.freedesktop.NetworkManager.DnsManager.xml \
637 638 639 640 641 642 643 644
	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 \
645
	docs/api/dbus-org.freedesktop.NetworkManager.WifiP2PPeer.xml \
646 647
	docs/api/dbus-org.freedesktop.NetworkManager.xml \
	$(NULL)
648 649

introspection/%.c: introspection/%.xml
650
	@$(MKDIR_P) introspection/
651 652 653
	$(AM_V_GEN) gdbus-codegen \
		--generate-c-code $(basename $@) \
		--generate-docbook docs/api/dbus \
654 655
		--c-namespace NMDBus \
		--interface-prefix org.freedesktop.NetworkManager \
656
		$<
657

658 659
introspection/%.h: introspection/%.c
	$()
660

661 662
docs/api/dbus-%.xml: introspection/%.c
	$()
663

664
dbusinterfacesdir = $(datadir)/dbus-1/interfaces
665

666
dbusinterfaces_DATA = \
667 668 669
	introspection/org.freedesktop.NetworkManager.AccessPoint.xml \
	introspection/org.freedesktop.NetworkManager.AgentManager.xml \
	introspection/org.freedesktop.NetworkManager.Checkpoint.xml \
670 671 672
	introspection/org.freedesktop.NetworkManager.Connection.Active.xml \
	introspection/org.freedesktop.NetworkManager.DHCP4Config.xml \
	introspection/org.freedesktop.NetworkManager.DHCP6Config.xml \
673
	introspection/org.freedesktop.NetworkManager.Device.Adsl.xml \
674
	introspection/org.freedesktop.NetworkManager.Device.Bluetooth.xml \
675 676
	introspection/org.freedesktop.NetworkManager.Device.Bond.xml \
	introspection/org.freedesktop.NetworkManager.Device.Bridge.xml \
677
	introspection/org.freedesktop.NetworkManager.Device.Dummy.xml \
678 679
	introspection/org.freedesktop.NetworkManager.Device.Generic.xml \
	introspection/org.freedesktop.NetworkManager.Device.IPTunnel.xml \
680
	introspection/org.freedesktop.NetworkManager.Device.Infiniband.xml \
681
	introspection/org.freedesktop.NetworkManager.Device.Lowpan.xml \
682
	introspection/org.freedesktop.NetworkManager.Device.Macsec.xml \
683 684 685
	introspection/org.freedesktop.NetworkManager.Device.Macvlan.xml \
	introspection/org.freedesktop.NetworkManager.Device.Modem.xml \
	introspection/org.freedesktop.NetworkManager.Device.OlpcMesh.xml \
686
	introspection/org.freedesktop.NetworkManager.Device.OvsBridge.xml \
687
	introspection/org.freedesktop.NetworkManager.Device.OvsInterface.xml \
688
	introspection/org.freedesktop.NetworkManager.Device.OvsPort.xml \
689
	introspection/org.freedesktop.NetworkManager.Device.Ppp.xml \
690 691 692 693 694 695
	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 \
696 697
	introspection/org.freedesktop.NetworkManager.Device.WiMax.xml \
	introspection/org.freedesktop.NetworkManager.Device.WifiP2P.xml \
698
	introspection/org.freedesktop.NetworkManager.Device.WireGuard.xml \
699
	introspection/org.freedesktop.NetworkManager.Device.Wired.xml \
700
	introspection/org.freedesktop.NetworkManager.Device.Wireless.xml \
701
	introspection/org.freedesktop.NetworkManager.Device.Wpan.xml \
702
	introspection/org.freedesktop.NetworkManager.Device.xml \
703
	introspection/org.freedesktop.NetworkManager.DnsManager.xml \
704 705 706 707 708 709 710 711
	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 \
712 713 714 715
	introspection/org.freedesktop.NetworkManager.WiMax.Nsp.xml \
	introspection/org.freedesktop.NetworkManager.WifiP2PPeer.xml \
	introspection/org.freedesktop.NetworkManager.xml \
	$(NULL)
716

717 718
CLEANFILES += $(introspection_sources)
CLEANFILES += $(DBUS_INTERFACE_DOCS)
719

720 721 722 723
$(dispatcher_libnm_dispatcher_core_la_OBJECTS): $(introspection_sources)
$(dispatcher_nm_dispatcher_OBJECTS):            $(introspection_sources)
$(libnm_libnm_la_OBJECTS):                      $(introspection_sources)

724
EXTRA_DIST += \
725 726
	$(dbusinterfaces_DATA) \
	introspection/meson.build
727

728
check-docs:
729
	$(srcdir)/tools/check-docs.sh "$(srcdir)" "$(builddir)"
730 731 732

check_local += check-docs

733 734
###############################################################################

735
libnm_core_lib_h_pub_real = \
736 737 738 739 740
	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 \
741
	libnm-core/nm-setting-6lowpan.h \
742 743 744 745 746 747 748 749 750
	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 \
751
	libnm-core/nm-setting-dummy.h \
752
	libnm-core/nm-setting-ethtool.h \
753 754 755 756 757 758 759
	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 \
760
	libnm-core/nm-setting-macsec.h \
761
	libnm-core/nm-setting-macvlan.h \
762
	libnm-core/nm-setting-match.h \
763
	libnm-core/nm-setting-olpc-mesh.h \
764
	libnm-core/nm-setting-ovs-bridge.h \
765
	libnm-core/nm-setting-ovs-interface.h \
766
	libnm-core/nm-setting-ovs-patch.h \
767
	libnm-core/nm-setting-ovs-port.h \
768 769 770 771
	libnm-core/nm-setting-ppp.h \
	libnm-core/nm-setting-pppoe.h \
	libnm-core/nm-setting-proxy.h \
	libnm-core/nm-setting-serial.h \
772
	libnm-core/nm-setting-sriov.h \
773
	libnm-core/nm-setting-tc-config.h \
774 775 776
	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
777
	libnm-core/nm-setting-user.h \
778 779 780
	libnm-core/nm-setting-vlan.h \
	libnm-core/nm-setting-vpn.h \
	libnm-core/nm-setting-vxlan.h \
781
	libnm-core/nm-setting-wifi-p2p.h \
782 783
	libnm-core/nm-setting-wimax.h \
	libnm-core/nm-setting-wired.h \
784
	libnm-core/nm-setting-wireguard.h \
785 786
	libnm-core/nm-setting-wireless-security.h \
	libnm-core/nm-setting-wireless.h \
Lubomir Rintel's avatar
Lubomir Rintel committed
787
	libnm-core/nm-setting-wpan.h \
788 789 790 791 792 793
	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 \
794 795
	libnm-core/nm-vpn-plugin-info.h \
	$(NULL)
796
libnm_core_lib_h_pub_mkenums = \
797 798
	libnm-core/nm-core-enum-types.h \
	$(NULL)
799
libnm_core_lib_h_priv = \
800
	shared/nm-meta-setting.h \
801 802 803
	libnm-core/nm-connection-private.h \
	libnm-core/nm-core-internal.h \
	libnm-core/nm-core-types-internal.h \
804 805
	libnm-core/nm-crypto-impl.h \
	libnm-core/nm-crypto.h \
806 807 808 809
	libnm-core/nm-keyfile-internal.h \
	libnm-core/nm-keyfile-utils.h \
	libnm-core/nm-property-compare.h \
	libnm-core/nm-setting-private.h \
810 811 812
	libnm-core/nm-team-utils.h \
	libnm-core/nm-utils-private.h \
	$(NULL)
813
libnm_core_lib_c_settings_real = \
814
	libnm-core/nm-setting-6lowpan.c \
815 816 817 818 819 820 821 822 823
	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 \
824
	libnm-core/nm-setting-dummy.c \
825
	libnm-core/nm-setting-ethtool.c \
826 827 828 829 830 831 832
	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 \
833
	libnm-core/nm-setting-macsec.c \
834
	libnm-core/nm-setting-macvlan.c \
835
	libnm-core/nm-setting-match.c \
836
	libnm-core/nm-setting-olpc-mesh.c \
837
	libnm-core/nm-setting-ovs-bridge.c \
838
	libnm-core/nm-setting-ovs-interface.c \
839
	libnm-core/nm-setting-ovs-patch.c \
840
	libnm-core/nm-setting-ovs-port.c \
841 842 843 844
	libnm-core/nm-setting-ppp.c \
	libnm-core/nm-setting-pppoe.c \
	libnm-core/nm-setting-proxy.c \
	libnm-core/nm-setting-serial.c \
845
	libnm-core/nm-setting-sriov.c \
846
	libnm-core/nm-setting-tc-config.c \
847 848 849
	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
850
	libnm-core/nm-setting-user.c \
851 852 853
	libnm-core/nm-setting-vlan.c \
	libnm-core/nm-setting-vpn.c \
	libnm-core/nm-setting-vxlan.c \
854
	libnm-core/nm-setting-wifi-p2p.c \
855 856
	libnm-core/nm-setting-wimax.c \
	libnm-core/nm-setting-wired.c \
857
	libnm-core/nm-setting-wireguard.c \
858
	libnm-core/nm-setting-wireless-security.c \
Lubomir Rintel's avatar
Lubomir Rintel committed
859
	libnm-core/nm-setting-wireless.c \
860 861
	libnm-core/nm-setting-wpan.c \
	$(NULL)
862 863 864 865
libnm_core_lib_c_real = \
	$(libnm_core_lib_c_settings_real) \
	shared/nm-meta-setting.c \
	libnm-core/nm-connection.c \
866
	libnm-core/nm-crypto.c \
867 868 869
	libnm-core/nm-dbus-utils.c \
	libnm-core/nm-errors.c \
	libnm-core/nm-keyfile-utils.c \
870
	libnm-core/nm-keyfile.c \
871
	libnm-core/nm-property-compare.c \
872 873
	libnm-core/nm-setting.c \
	libnm-core/nm-simple-connection.c \
874
	libnm-core/nm-team-utils.c \
875 876
	libnm-core/nm-utils.c \
	libnm-core/nm-vpn-editor-plugin.c \
877 878
	libnm-core/nm-vpn-plugin-info.c \
	$(NULL)
879 880 881

if WITH_JSON_VALIDATION
libnm_core_lib_h_priv += \
882
	libnm-core/nm-json.h
883
libnm_core_lib_c_real += \
884
	libnm-core/nm-json.c
885 886
endif

887
libnm_core_lib_c_mkenums = \
888 889 890 891
	libnm-core/nm-core-enum-types.c

libnminclude_HEADERS += \
	$(libnm_core_lib_h_pub_real)
892

893
nodist_libnminclude_HEADERS += \
894
	$(libnm_core_lib_h_pub_mkenums)
895 896 897

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

898
dflt_cppflags_libnm_core = \
899
	$(dflt_cppflags) \
900 901 902 903
	-I$(srcdir)/shared \
	-I$(builddir)/shared \
	-I$(srcdir)/libnm-core \
	-I$(builddir)/libnm-core \
904
	$(CODE_COVERAGE_CFLAGS) \
905
	$(GLIB_CFLAGS) \
906
	$(LIBUDEV_CFLAGS) \
907 908
	$(SANITIZER_LIB_CFLAGS) \
	$(NULL)
909

910 911 912
noinst_LTLIBRARIES += libnm-core/libnm-core.la

GLIB_GENERATED += \
913 914
	$(libnm_core_lib_h_pub_mkenums) \
	$(libnm_core_lib_c_mkenums)
915
nm_core_enum_types_sources = $(libnm_core_lib_h_pub_real)
916

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

919 920
libnm-core/nm-core-enum-types.h.stamp:                                      libnm-core/.dirstamp
libnm-core/nm-core-enum-types.c.stamp:                                      libnm-core/.dirstamp
921

922 923 924 925 926 927 928 929 930 931 932
$(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)
933
$(src_devices_ovs_libnm_device_plugin_ovs_la_OBJECTS):                      $(libnm_core_lib_h_pub_mkenums)
934

935
libnm_core_libnm_core_la_CPPFLAGS = \
936
	$(dflt_cppflags_libnm_core) \
937
	-DG_LOG_DOMAIN=\""libnm"\" \
938 939
	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM_CORE \
	$(NULL)
940

941 942 943 944
if WITH_JSON_VALIDATION
libnm_core_libnm_core_la_CPPFLAGS += $(JANSSON_CFLAGS)
endif

945
libnm_core_libnm_core_la_SOURCES = \
946 947 948 949 950
	$(libnm_core_lib_h_pub_real) \
	$(libnm_core_lib_h_priv) \
	$(libnm_core_lib_c_real)

nodist_libnm_core_libnm_core_la_SOURCES = \
951 952
	$(libnm_core_lib_h_pub_mkenums) \
	$(libnm_core_lib_c_mkenums)
953 954 955

libnm_core_libnm_core_la_LIBADD = \
	$(GLIB_LIBS) \
956
	$(UUID_LIBS) \
957
	$(NULL)
958

959
libnm_core_libnm_core_la_LDFLAGS = \
960
	$(CODE_COVERAGE_LDFLAGS) \
961 962
	$(SANITIZER_LIB_LDFLAGS) \
	$(NULL)
963

964
EXTRA_DIST += \
965 966
	libnm-core/nm-crypto-gnutls.c \
	libnm-core/nm-crypto-nss.c \
967 968
	libnm-core/nm-core-enum-types.c.template \
	libnm-core/nm-core-enum-types.h.template \
969 970
	libnm-core/meson.build \
	$(NULL)
971

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

976
libnm-core/nm-dbus-types.xml: libnm-core/nm-dbus-interface.h tools/enums-to-docbook.pl
977
	@$(MKDIR_P) libnm-core/
978
	$(AM_V_GEN) @PERL@ $(srcdir)/tools/enums-to-docbook.pl 'nm-dbus-types' 'NetworkManager D-Bus API Types' $< >$@
979 980 981 982 983

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

984 985 986 987
dist_dependencies += \
	libnm-core/nm-vpn-dbus-types.xml \
	libnm-core/nm-dbus-types.xml

988 989
###############################################################################

990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003
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 = \
1004
	$(GLIB_LIBS) \
1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021
	$(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 = \
1022
	$(GLIB_LIBS) \
1023 1024 1025 1026 1027 1028 1029
	$(NSS_LIBS)
endif

noinst_LTLIBRARIES += $(libnm_crypto_lib)

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

1030
check_programs += \
1031 1032 1033 1034 1035
	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 \
1036
	libnm-core/tests/test-setting \
1037 1038 1039 1040 1041 1042 1043
	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

1044 1045 1046
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

1047 1048
$(libnm_core_tests_test_general_OBJECTS): libnm-core/tests/nm-core-tests-enum-types.h

1049 1050
libnm_core_tests_cppflags = \
	-I$(srcdir)/libnm-core/tests \
1051
	-I$(builddir)/libnm-core/tests \
1052
	$(dflt_cppflags_libnm_core) \
1053 1054
	-DNETWORKMANAGER_COMPILATION_TEST \
	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM_CORE \
1055
	$(SANITIZER_EXEC_CFLAGS) \
1056
	$(NULL)
1057 1058 1059 1060 1061 1062

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)
1063
libnm_core_tests_test_setting_CPPFLAGS = $(libnm_core_tests_cppflags)
1064 1065 1066 1067
libnm_core_tests_test_settings_defaults_CPPFLAGS = $(libnm_core_tests_cppflags)

libnm_core_tests_test_general_SOURCES = \
	libnm-core/tests/test-general-enums.h \
1068 1069
	libnm-core/tests/test-general.c \
	$(NULL)
1070

1071 1072
nodist_libnm_core_tests_test_general_SOURCES = \
	libnm-core/tests/nm-core-tests-enum-types.c \
1073 1074
	libnm-core/tests/nm-core-tests-enum-types.h \
	$(NULL)
1075

1076
libnm_core_tests_ldadd = \
1077
	shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \
1078
	libnm-core/libnm-core.la \
1079 1080
	$(libnm_crypto_lib) \
	shared/nm-libnm-core-intern/libnm-libnm-core-intern.la \
1081 1082
	shared/systemd/libnm-systemd-shared.la \
	shared/systemd/libnm-systemd-logging-stub.la \
1083
	shared/nm-glib-aux/libnm-glib-aux.la \
1084
	shared/nm-std-aux/libnm-std-aux.la \
1085
	shared/libcsiphash.la \
1086 1087
	$(GLIB_LIBS) \
	$(NULL)
1088

1089
libnm_core_tests_ldflags = \
1090 1091
	$(SANITIZER_EXEC_LDFLAGS) \
	$(NULL)
1092

1093 1094 1095 1096 1097
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)
1098
libnm_core_tests_test_setting_LDADD = $(libnm_core_tests_ldadd)
1099 1100
libnm_core_tests_test_settings_defaults_LDADD = $(libnm_core_tests_ldadd)

1101 1102 1103 1104 1105 1106 1107 1108
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)

1109 1110 1111 1112 1113
$(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)
1114
$(libnm_core_tests_test_setting_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
1115 1116
$(libnm_core_tests_test_settings_defaults_OBJECTS): $(libnm_core_lib_h_pub_mkenums)

1117 1118 1119
# test-cert.p12 created with:
#
# openssl pkcs12 -export \
1120 1121 1122 1123 1124
#    -in test_key_and_cert.pem \
#    -inkey test_key_and_cert.pem \
#    -certfile test_ca_cert.pem \
#    -name "test-pkcs12" \
#    -out test-cert.p12
1125 1126 1127 1128 1129 1130 1131 1132 1133

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 \
1134 1135
	libnm-core/tests/certs/test-aes-128-key.pem \
	libnm-core/tests/certs/test-aes-256-key.pem \
1136 1137 1138 1139 1140 1141 1142 1143
	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 \
1144 1145 1146 1147
	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
1148 1149 1150

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

1151
libnm_lib_h_pub_real = \
1152 1153 1154 1155
	shared/nm-version-macros.h \
	libnm/NetworkManager.h \
	libnm/nm-access-point.h \
	libnm/nm-active-connection.h \
1156
	libnm/nm-autoptr.h \
1157
	libnm/nm-checkpoint.h \
1158
	libnm/nm-client.h \
1159
	libnm/nm-device-6lowpan.h \
1160 1161 1162 1163
	libnm/nm-device-adsl.h \
	libnm/nm-device-bond.h \
	libnm/nm-device-bridge.h \
	libnm/nm-device-bt.h \
1164
	libnm/nm-device-dummy.h \
1165 1166 1167 1168
	libnm/nm-device-ethernet.h \
	libnm/nm-device-generic.h \
	libnm/nm-device-infiniband.h \
	libnm/nm-device-ip-tunnel.h \
1169
	libnm/nm-device-macsec.h \
1170 1171 1172
	libnm/nm-device-macvlan.h \
	libnm/nm-device-modem.h \
	libnm/nm-device-olpc-mesh.h \
1173
	libnm/nm-device-ovs-bridge.h \
1174
	libnm/nm-device-ovs-interface.h \
1175
	libnm/nm-device-ovs-port.h \
1176
	libnm/nm-device-ppp.h \
1177 1178 1179 1180
	libnm/nm-device-team.h \
	libnm/nm-device-tun.h \
	libnm/nm-device-vlan.h \
	libnm/nm-device-vxlan.h \
1181
	libnm/nm-device-wifi-p2p.h \
1182 1183
	libnm/nm-device-wifi.h \
	libnm/nm-device-wimax.h \
1184
	libnm/nm-device-wireguard.h \
1185
	libnm/nm-device-wpan.h \
1186 1187 1188 1189 1190
	libnm/nm-device.h \
	libnm/nm-dhcp-config.h \
	libnm/nm-ip-config.h \
	libnm/nm-object.h \
	libnm/nm-remote-connection.h \
1191
	libnm/nm-secret-agent-old.h \
1192 1193 1194 1195
	libnm/nm-types.h \
	libnm/nm-vpn-connection.h \
	libnm/nm-vpn-editor.h \
	libnm/nm-vpn-plugin-old.h \
1196
	libnm/nm-vpn-service-plugin.h \
1197
	libnm/nm-wifi-p2p-peer.h \
1198
	libnm/nm-wimax-nsp.h
1199
libnm_lib_h_pub_mkenums = \
1200 1201
	libnm/nm-enum-types.h
libnm_lib_h_priv = \
1202
	libnm/nm-libnm-utils.h \
1203 1204 1205 1206
	libnm/nm-dbus-helpers.h \
	libnm/nm-device-private.h \
	libnm/nm-dhcp4-config.h \
	libnm/nm-dhcp6-config.h \
1207
	libnm/nm-dns-manager.h \
1208 1209 1210 1211 1212 1213
	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
1214
libnm_lib_c_real = \
1215 1216
	libnm/nm-access-point.c \
	libnm/nm-active-connection.c \
1217
	libnm/nm-checkpoint.c \
1218 1219
	libnm/nm-client.c \
	libnm/nm-dbus-helpers.c \
1220
	libnm/nm-device-6lowpan.c \
1221 1222 1223 1224
	libnm/nm-device-adsl.c \
	libnm/nm-device-bond.c \
	libnm/nm-device-bridge.c \
	libnm/nm-device-bt.c \
1225
	libnm/nm-device-dummy.c \
1226 1227 1228 1229
	libnm/nm-device-ethernet.c \
	libnm/nm-device-generic.c \
	libnm/nm-device-infiniband.c \
	libnm/nm-device-ip-tunnel.c \
1230
	libnm/nm-device-macsec.c \
1231 1232 1233
	libnm/nm-device-macvlan.c \
	libnm/nm-device-modem.c \
	libnm/nm-device-olpc-mesh.c \
1234
	libnm/nm-device-ovs-bridge.c \
1235
	libnm/nm-device-ovs-interface.c \
1236
	libnm/nm-device-ovs-port.c \
1237
	libnm/nm-device-ppp.c \
1238 1239 1240 1241
	libnm/nm-device-team.c \
	libnm/nm-device-tun.c \
	libnm/nm-device-vlan.c \
	libnm/nm-device-vxlan.c \
1242
	libnm/nm-device-wifi-p2p.c \
1243 1244
	libnm/nm-device-wifi.c \
	libnm/nm-device-wimax.c \
1245
	libnm/nm-device-wireguard.c \
1246
	libnm/nm-device-wpan.c \
1247 1248 1249 1250
	libnm/nm-device.c \
	libnm/nm-dhcp-config.c \
	libnm/nm-dhcp4-config.c \
	libnm/nm-dhcp6-config.c \
1251
	libnm/nm-dns-manager.c \
1252 1253 1254
	libnm/nm-ip-config.c \
	libnm/nm-ip4-config.c \
	libnm/nm-ip6-config.c \
1255
	libnm/nm-libnm-utils.c \
1256 1257 1258 1259 1260 1261 1262
	libnm/nm-manager.c \
	libnm/nm-object.c \
	libnm/nm-remote-connection.c \
	libnm/nm-remote-settings.c \
	libnm/nm-secret-agent-old.c \
	libnm/nm-vpn-connection.c \
	libnm/nm-vpn-editor.c \
1263
	libnm/nm-vpn-plugin-old.c \
1264
	libnm/nm-vpn-service-plugin.c \
1265
	libnm/nm-wifi-p2p-peer.c \
1266 1267
	libnm/nm-wimax-nsp.c \
	$(NULL)
1268
libnm_lib_c_mkenums = \
1269 1270
	libnm/nm-enum-types.c

1271 1272 1273
libnm_lib_cppflags = \
	-I$(srcdir)/libnm \
	-I$(builddir)/libnm \
1274
	$(dflt_cppflags_libnm_core) \
1275
	-DG_LOG_DOMAIN=\""libnm"\" \
1276
	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM \
1277
	$(NULL)
1278

1279
libnminclude_HEADERS += \
1280
	$(libnm_lib_h_pub_real)
1281 1282

nodist_libnminclude_HEADERS += \
1283
	$(libnm_lib_h_pub_mkenums)
1284 1285 1286

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

1287
noinst_LTLIBRARIES += libnm/liblibnm.la
1288

1289
libnm_liblibnm_la_CPPFLAGS = \
1290
	$(INTROSPECTION_CFLAGS) \
1291 1292
	$(libnm_lib_cppflags) \
	$(NULL)
1293

1294 1295
libnm_liblibnm_la_SOURCES = \
	$(libnm_lib_c_real) \
1296
	$(NULL)
1297

1298
libnm_liblibnm_la_LIBADD = \
1299
	shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \
1300
	libnm-core/libnm-core.la \
1301
	$(libnm_crypto_lib) \
1302
	shared/nm-libnm-core-intern/libnm-libnm-core-intern.la \
1303
	introspection/libnmdbus.la \
1304
	shared/nm-glib-aux/libnm-glib-aux.la \
1305 1306 1307
	shared/systemd/libnm-systemd-shared.la \
	shared/systemd/libnm-systemd-logging-stub.la \
	shared/nm-udev-aux/libnm-udev-aux.la \
1308
	shared/nm-std-aux/libnm-std-aux.la \
1309
	shared/libcsiphash.la \
1310
	$(GLIB_LIBS) \
1311 1312
	$(DL_LIBS) \
	$(UUID_LIBS) \
1313
	$(LIBUDEV_LIBS) \
1314
	$(NULL)
1315

1316 1317
$(libnm_liblibnm_la_OBJECTS) : $(libnm_lib_h_pub_mkenums)
$(libnm_liblibnm_la_OBJECTS) : $(libnm_core_lib_h_pub_mkenums)
1318 1319 1320

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

1321 1322 1323
lib_LTLIBRARIES += libnm/libnm.la

GLIB_GENERATED += \
1324 1325
	$(libnm_lib_h_pub_mkenums) \
	$(libnm_lib_c_mkenums)
1326
nm_enum_types_sources = \
1327
	$(libnm_lib_h_pub_mkenums) \
1328
	$(libnm_lib_h_pub_real)
1329 1330 1331
nm_enum_types_MKENUMS_H_FLAGS = --identifier-prefix NM --fhead '\#include <nm-core-enum-types.h>\n'
nm_enum_types_MKENUMS_C_FLAGS = --identifier-prefix NM --fhead '\#include "nm-default.h"\n'