Makefile.am 190 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 100 101 102 103 104 105
	docs/libnm \
	docs/api

if WITH_LEGACY_LIBRARIES
SUBDIRS += \
	docs/libnm-util \
	docs/libnm-glib
endif

106 107
endif

108
dflt_cppflags = -std=gnu11
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 140 141 142 143 144 145
# 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

###############################################################################
146

147 148
set_sanitizer_env = \
	[ -n "$(SANITIZER_ENV)" ] && export $(SANITIZER_ENV) ; \
149 150 151
	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)"; \
152 153 154
	fi

check_so_symbols = \
155
	$(call set_sanitizer_env,$(1),$(builddir)/src/NetworkManager); \
156
	LD_BIND_NOW=1 LD_PRELOAD=$${LD_PRELOAD}:$(1) $(builddir)/src/NetworkManager --version >/dev/null
157 158 159

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

160 161 162
DISTCHECK_CONFIGURE_FLAGS = \
	--enable-tests=yes \
	--with-valgrind=no \
163
	--with-libnm-glib=yes \
164 165 166 167 168 169
	--enable-gtk-doc \
	--enable-more-warnings=error \
	--with-udev-dir=$$dc_install_base/lib/udev \
	--with-wext=no \
	--enable-ifcfg-rh \
	--enable-ifupdown \
170 171 172
	--enable-config-plugin-ibft \
	--disable-dependency-tracking \
	$(NULL)
173

174
dist-configure-check:
175
	@echo "*** 'make dist' requires '--enable-gtk-doc --enable-introspection --with-libnm-glib'. ***"
176
	@false
177
if !BUILD_DOCS
178 179 180 181
dist_configure_check += dist-configure-check
endif
if !WITH_LEGACY_LIBRARIES
dist_configure_check += dist-configure-check
182 183
endif

184
dist: $(dist_configure_check) $(dist_dependencies)
185

186
DISTCLEANFILES += intltool-extract intltool-merge intltool-update
187 188 189

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

190
if WITH_LEGACY_LIBRARIES
191
pkgconfig_DATA += NetworkManager.pc
192
endif
193 194

###############################################################################
195

196 197 198
polkit_policydir = $(datadir)/polkit-1/actions

dist_polkit_policy_in_in_files = \
199
	data/org.freedesktop.NetworkManager.policy.in.in
200 201 202 203 204 205 206 207 208

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

@INTLTOOL_POLICY_RULE@

DISTCLEANFILES += $(polkit_policy_DATA)

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

209 210 211 212 213 214 215 216 217
noinst_LTLIBRARIES += shared/libcsiphash.la

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

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

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

noinst_LTLIBRARIES += shared/libcrbtree.la

225 226 227 228
shared_libcrbtree_la_CFLAGS = \
	$(AM_CFLAGS) \
	-std=c11 \
	$(NULL)
229 230 231 232 233 234 235 236 237

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

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

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

noinst_LTLIBRARIES += shared/libnacd.la

245 246 247 248 249 250
shared_libnacd_la_CFLAGS = \
	$(AM_CFLAGS) \
	-std=c11 \
	-Wno-pointer-arith \
	-Wno-vla \
	$(NULL)
251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267

shared_libnacd_la_CPPFLAGS = \
	-D_GNU_SOURCE \
	-DSO_ATTACH_BPF=50 \
	$(CODE_COVERAGE_CFLAGS) \
	$(SANITIZER_LIB_CFLAGS) \
	-I$(srcdir)/shared/c-list/src \
	-I$(srcdir)/shared/c-siphash/src \
	-I$(srcdir)/shared/c-rbtree/src \
	$(NULL)

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 \
268 269
	shared/n-acd/src/util/timer.h \
	$(NULL)
270 271 272 273 274 275 276

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

277 278 279
shared_libnacd_la_LIBADD = \
	shared/libcrbtree.la \
	$(NULL)
280 281 282

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

283
shared_nm_utils_libnm_utils_cppflags = \
284 285 286 287
	$(dflt_cppflags) \
	-I$(srcdir)/shared \
	$(CODE_COVERAGE_CFLAGS) \
	$(SANITIZER_LIB_CFLAGS) \
288 289 290
	$(GLIB_CFLAGS) \
	-DG_LOG_DOMAIN=\""libnm"\" \
	-DNETWORKMANAGER_COMPILATION='(NM_NETWORKMANAGER_COMPILATION_GLIB|NM_NETWORKMANAGER_COMPILATION_WITH_GLIB_I18N_LIB)' \
291 292
	$(NULL)

293 294 295 296 297 298 299 300
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/c-list/src/c-list.h \
301
	shared/nm-utils/c-list-util.c \
302 303
	shared/nm-utils/c-list-util.h \
	shared/nm-utils/nm-c-list.h \
304
	shared/nm-utils/nm-dedup-multi.c \
305
	shared/nm-utils/nm-dedup-multi.h \
306
	shared/nm-utils/nm-enum-utils.c \
307
	shared/nm-utils/nm-enum-utils.h \
308 309
	shared/nm-utils/nm-errno.c \
	shared/nm-utils/nm-errno.h \
310
	shared/nm-utils/nm-glib.h \
311
	shared/nm-utils/nm-hash-utils.c \
312
	shared/nm-utils/nm-hash-utils.h \
313
	shared/nm-utils/nm-io-utils.c \
314
	shared/nm-utils/nm-io-utils.h \
315
	shared/nm-utils/nm-logging-fwd.h \
316 317
	shared/nm-utils/nm-macros-internal.h \
	shared/nm-utils/nm-obj.h \
318
	shared/nm-utils/nm-random-utils.c \
319
	shared/nm-utils/nm-random-utils.h \
320
	shared/nm-utils/nm-secret-utils.c \
321
	shared/nm-utils/nm-secret-utils.h \
322
	shared/nm-utils/nm-shared-utils.c \
323
	shared/nm-utils/nm-shared-utils.h \
324
	shared/nm-utils/nm-time-utils.c \
325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374
	shared/nm-utils/nm-time-utils.h \
	shared/nm-utils/unaligned.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 = \
	shared/libcsiphash.la \
	$(GLIB_LIBS) \
	$(NULL)

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

noinst_LTLIBRARIES += shared/nm-utils/libnm-utils-udev.la

shared_nm_utils_libnm_utils_udev_la_CPPFLAGS = \
	$(shared_nm_utils_libnm_utils_cppflags) \
	$(LIBUDEV_CFLAGS) \
	$(NULL)

shared_nm_utils_libnm_utils_udev_la_SOURCES = \
	shared/nm-utils/nm-udev-utils.c \
	shared/nm-utils/nm-udev-utils.h \
	$(NULL)

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

shared_nm_utils_libnm_utils_udev_la_LIBADD = \
	$(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) \
375 376 377
	$(NULL)

shared_nm_utils_tests_test_shared_general_LDADD = \
378
	shared/nm-utils/libnm-utils-base.la \
379 380 381 382 383
	$(GLIB_LIBS) \
	$(NULL)

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

384 385 386
noinst_LTLIBRARIES += \
	introspection/libnmdbus.la

387
introspection_libnmdbus_la_CPPFLAGS = $(GLIB_CFLAGS)
388

389
introspection_sources = \
390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405
	introspection/org.freedesktop.NetworkManager.AccessPoint.c \
	introspection/org.freedesktop.NetworkManager.AccessPoint.h \
	introspection/org.freedesktop.NetworkManager.Connection.Active.c \
	introspection/org.freedesktop.NetworkManager.Connection.Active.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 \
	introspection/org.freedesktop.NetworkManager.Device.Adsl.c \
	introspection/org.freedesktop.NetworkManager.Device.Adsl.h \
	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 \
	introspection/org.freedesktop.NetworkManager.Device.Bluetooth.c \
	introspection/org.freedesktop.NetworkManager.Device.Bluetooth.h \
406 407
	introspection/org.freedesktop.NetworkManager.Device.Dummy.c \
	introspection/org.freedesktop.NetworkManager.Device.Dummy.h \
408 409 410 411 412 413 414 415
	introspection/org.freedesktop.NetworkManager.Device.Wired.c \
	introspection/org.freedesktop.NetworkManager.Device.Wired.h \
	introspection/org.freedesktop.NetworkManager.Device.Generic.c \
	introspection/org.freedesktop.NetworkManager.Device.Generic.h \
	introspection/org.freedesktop.NetworkManager.Device.Infiniband.c \
	introspection/org.freedesktop.NetworkManager.Device.Infiniband.h \
	introspection/org.freedesktop.NetworkManager.Device.IPTunnel.c \
	introspection/org.freedesktop.NetworkManager.Device.IPTunnel.h \
416 417
	introspection/org.freedesktop.NetworkManager.Device.Lowpan.c \
	introspection/org.freedesktop.NetworkManager.Device.Lowpan.h \
418 419
	introspection/org.freedesktop.NetworkManager.Device.Macsec.c \
	introspection/org.freedesktop.NetworkManager.Device.Macsec.h \
420 421 422 423 424 425
	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 \
426 427
	introspection/org.freedesktop.NetworkManager.Device.OvsInterface.c \
	introspection/org.freedesktop.NetworkManager.Device.OvsInterface.h \
428 429
	introspection/org.freedesktop.NetworkManager.Device.OvsPort.c \
	introspection/org.freedesktop.NetworkManager.Device.OvsPort.h \
430 431
	introspection/org.freedesktop.NetworkManager.Device.OvsBridge.c \
	introspection/org.freedesktop.NetworkManager.Device.OvsBridge.h \
Beniamino Galvani's avatar
Beniamino Galvani committed
432 433
	introspection/org.freedesktop.NetworkManager.Device.Ppp.c \
	introspection/org.freedesktop.NetworkManager.Device.Ppp.h \
434 435 436 437 438 439 440 441 442 443 444 445
	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 \
446 447
	introspection/org.freedesktop.NetworkManager.Device.WireGuard.c \
	introspection/org.freedesktop.NetworkManager.Device.WireGuard.h \
448 449 450 451
	introspection/org.freedesktop.NetworkManager.Device.Wireless.c \
	introspection/org.freedesktop.NetworkManager.Device.Wireless.h \
	introspection/org.freedesktop.NetworkManager.Device.WiMax.c \
	introspection/org.freedesktop.NetworkManager.Device.WiMax.h \
452 453
	introspection/org.freedesktop.NetworkManager.Device.Wpan.c \
	introspection/org.freedesktop.NetworkManager.Device.Wpan.h \
454 455 456 457 458 459
	introspection/org.freedesktop.NetworkManager.Device.c \
	introspection/org.freedesktop.NetworkManager.Device.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 \
460 461
	introspection/org.freedesktop.NetworkManager.DnsManager.c \
	introspection/org.freedesktop.NetworkManager.DnsManager.h \
462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479
	introspection/org.freedesktop.NetworkManager.IP4Config.c \
	introspection/org.freedesktop.NetworkManager.IP4Config.h \
	introspection/org.freedesktop.NetworkManager.IP6Config.c \
	introspection/org.freedesktop.NetworkManager.IP6Config.h \
	introspection/org.freedesktop.NetworkManager.c \
	introspection/org.freedesktop.NetworkManager.h \
	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 \
	introspection/org.freedesktop.NetworkManager.VPN.Plugin.h
480

481 482
nodist_introspection_libnmdbus_la_SOURCES = $(introspection_sources)

483
DBUS_INTERFACE_DOCS = \
484 485 486 487 488 489 490 491 492 493 494 495
	docs/api/dbus-org.freedesktop.NetworkManager.AccessPoint.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Connection.Active.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Checkpoint.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Team.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.DHCP6Config.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Wireless.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.VPN.Connection.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.SecretAgent.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.VPN.Plugin.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Bluetooth.xml \
496
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Dummy.xml \
497 498 499
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Vxlan.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Settings.Connection.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Bond.xml \
500
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Macsec.xml \
501 502 503 504 505 506
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Macvlan.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.PPP.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Vlan.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Adsl.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.AgentManager.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.WiMax.xml \
507
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Wpan.xml \
508 509 510 511
	docs/api/dbus-org.freedesktop.NetworkManager.Device.IPTunnel.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Tun.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Bridge.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.OlpcMesh.xml \
512
	docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsInterface.xml \
513
	docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsPort.xml \
514
	docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsBridge.xml \
Beniamino Galvani's avatar
Beniamino Galvani committed
515
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Ppp.xml \
516 517 518 519 520 521 522 523
	docs/api/dbus-org.freedesktop.NetworkManager.DHCP4Config.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Generic.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Infiniband.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Modem.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.IP6Config.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Veth.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Settings.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Wired.xml \
524
	docs/api/dbus-org.freedesktop.NetworkManager.Device.WireGuard.xml \
525
	docs/api/dbus-org.freedesktop.NetworkManager.IP4Config.xml \
526
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Statistics.xml \
527 528
	docs/api/dbus-org.freedesktop.NetworkManager.DnsManager.xml \
	docs/api/dbus-org.freedesktop.NetworkManager.Device.Lowpan.xml
529 530

introspection/%.c: introspection/%.xml
531
	@$(MKDIR_P) introspection/
532 533 534
	$(AM_V_GEN) gdbus-codegen \
		--generate-c-code $(basename $@) \
		--generate-docbook docs/api/dbus \
535 536
		--c-namespace NMDBus \
		--interface-prefix org.freedesktop.NetworkManager \
537
		$<
538

539 540
introspection/%.h: introspection/%.c
	$()
541

542 543
docs/api/dbus-%.xml: introspection/%.c
	$()
544

545
dbusinterfacesdir = $(datadir)/dbus-1/interfaces
546

547
dbusinterfaces_DATA = \
548 549 550 551 552 553 554 555
	introspection/org.freedesktop.NetworkManager.AccessPoint.xml \
	introspection/org.freedesktop.NetworkManager.Connection.Active.xml \
	introspection/org.freedesktop.NetworkManager.AgentManager.xml \
	introspection/org.freedesktop.NetworkManager.Checkpoint.xml \
	introspection/org.freedesktop.NetworkManager.Device.Adsl.xml \
	introspection/org.freedesktop.NetworkManager.Device.Bond.xml \
	introspection/org.freedesktop.NetworkManager.Device.Bridge.xml \
	introspection/org.freedesktop.NetworkManager.Device.Bluetooth.xml \
556
	introspection/org.freedesktop.NetworkManager.Device.Dummy.xml \
557 558 559 560
	introspection/org.freedesktop.NetworkManager.Device.Wired.xml \
	introspection/org.freedesktop.NetworkManager.Device.Generic.xml \
	introspection/org.freedesktop.NetworkManager.Device.Infiniband.xml \
	introspection/org.freedesktop.NetworkManager.Device.IPTunnel.xml \
561
	introspection/org.freedesktop.NetworkManager.Device.Lowpan.xml \
562
	introspection/org.freedesktop.NetworkManager.Device.Macsec.xml \
563 564 565
	introspection/org.freedesktop.NetworkManager.Device.Macvlan.xml \
	introspection/org.freedesktop.NetworkManager.Device.Modem.xml \
	introspection/org.freedesktop.NetworkManager.Device.OlpcMesh.xml \
566
	introspection/org.freedesktop.NetworkManager.Device.OvsInterface.xml \
567
	introspection/org.freedesktop.NetworkManager.Device.OvsPort.xml \
568
	introspection/org.freedesktop.NetworkManager.Device.OvsBridge.xml \
Beniamino Galvani's avatar
Beniamino Galvani committed
569
	introspection/org.freedesktop.NetworkManager.Device.Ppp.xml \
570 571 572 573 574 575
	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 \
576
	introspection/org.freedesktop.NetworkManager.Device.WireGuard.xml \
577 578
	introspection/org.freedesktop.NetworkManager.Device.Wireless.xml \
	introspection/org.freedesktop.NetworkManager.Device.WiMax.xml \
579
	introspection/org.freedesktop.NetworkManager.Device.Wpan.xml \
580 581 582
	introspection/org.freedesktop.NetworkManager.Device.xml \
	introspection/org.freedesktop.NetworkManager.DHCP4Config.xml \
	introspection/org.freedesktop.NetworkManager.DHCP6Config.xml \
583
	introspection/org.freedesktop.NetworkManager.DnsManager.xml \
584 585 586 587 588 589 590 591 592 593
	introspection/org.freedesktop.NetworkManager.IP4Config.xml \
	introspection/org.freedesktop.NetworkManager.IP6Config.xml \
	introspection/org.freedesktop.NetworkManager.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 \
	introspection/org.freedesktop.NetworkManager.WiMax.Nsp.xml
594

595 596
CLEANFILES += $(introspection_sources)
CLEANFILES += $(DBUS_INTERFACE_DOCS)
597

598 599 600 601
$(dispatcher_libnm_dispatcher_core_la_OBJECTS): $(introspection_sources)
$(dispatcher_nm_dispatcher_OBJECTS):            $(introspection_sources)
$(libnm_libnm_la_OBJECTS):                      $(introspection_sources)

602
EXTRA_DIST += \
603 604
	$(dbusinterfaces_DATA) \
	introspection/meson.build
605

606
check-docs:
607
	$(srcdir)/tools/check-docs.sh "$(srcdir)" "$(builddir)"
608 609 610

check_local += check-docs

611 612
###############################################################################

613
libnm_core_lib_h_pub_real = \
614 615 616 617 618
	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
619
	libnm-core/nm-setting-6lowpan.h \
620 621 622 623 624 625 626 627 628
	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 \
629
	libnm-core/nm-setting-dummy.h \
630
	libnm-core/nm-setting-ethtool.h \
631 632 633 634 635 636 637
	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 \
638
	libnm-core/nm-setting-macsec.h \
639
	libnm-core/nm-setting-macvlan.h \
Beniamino Galvani's avatar
Beniamino Galvani committed
640
	libnm-core/nm-setting-match.h \
641
	libnm-core/nm-setting-olpc-mesh.h \
642
	libnm-core/nm-setting-ovs-bridge.h \
643
	libnm-core/nm-setting-ovs-interface.h \
644
	libnm-core/nm-setting-ovs-patch.h \
645
	libnm-core/nm-setting-ovs-port.h \
646 647 648 649
	libnm-core/nm-setting-ppp.h \
	libnm-core/nm-setting-pppoe.h \
	libnm-core/nm-setting-proxy.h \
	libnm-core/nm-setting-serial.h \
650
	libnm-core/nm-setting-sriov.h \
651
	libnm-core/nm-setting-tc-config.h \
652 653 654
	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
655
	libnm-core/nm-setting-user.h \
656 657 658 659 660 661 662
	libnm-core/nm-setting-vlan.h \
	libnm-core/nm-setting-vpn.h \
	libnm-core/nm-setting-vxlan.h \
	libnm-core/nm-setting-wimax.h \
	libnm-core/nm-setting-wired.h \
	libnm-core/nm-setting-wireless-security.h \
	libnm-core/nm-setting-wireless.h \
Lubomir Rintel's avatar
Lubomir Rintel committed
663
	libnm-core/nm-setting-wpan.h \
664 665 666 667 668 669 670
	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
671
libnm_core_lib_h_pub_mkenums = \
672 673
	libnm-core/nm-core-enum-types.h
libnm_core_lib_h_priv = \
674
	shared/nm-ethtool-utils.h \
675
	shared/nm-meta-setting.h \
676
	libnm-core/nm-crypto.h \
677
	libnm-core/nm-crypto-impl.h \
678 679 680 681 682 683 684 685
	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
686
libnm_core_lib_c_settings_real = \
Lubomir Rintel's avatar
Lubomir Rintel committed
687
	libnm-core/nm-setting-6lowpan.c \
688 689 690 691 692 693 694 695 696
	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 \
697
	libnm-core/nm-setting-dummy.c \
698
	libnm-core/nm-setting-ethtool.c \
699 700 701 702 703 704 705
	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 \
706
	libnm-core/nm-setting-macsec.c \
707
	libnm-core/nm-setting-macvlan.c \
Beniamino Galvani's avatar
Beniamino Galvani committed
708
	libnm-core/nm-setting-match.c \
709
	libnm-core/nm-setting-olpc-mesh.c \
710
	libnm-core/nm-setting-ovs-bridge.c \
711
	libnm-core/nm-setting-ovs-interface.c \
712
	libnm-core/nm-setting-ovs-patch.c \
713
	libnm-core/nm-setting-ovs-port.c \
714 715 716 717
	libnm-core/nm-setting-ppp.c \
	libnm-core/nm-setting-pppoe.c \
	libnm-core/nm-setting-proxy.c \
	libnm-core/nm-setting-serial.c \
718
	libnm-core/nm-setting-sriov.c \
719
	libnm-core/nm-setting-tc-config.c \
720 721 722
	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
723
	libnm-core/nm-setting-user.c \
724 725 726 727 728 729
	libnm-core/nm-setting-vlan.c \
	libnm-core/nm-setting-vpn.c \
	libnm-core/nm-setting-vxlan.c \
	libnm-core/nm-setting-wimax.c \
	libnm-core/nm-setting-wired.c \
	libnm-core/nm-setting-wireless-security.c \
Lubomir Rintel's avatar
Lubomir Rintel committed
730 731
	libnm-core/nm-setting-wireless.c \
	libnm-core/nm-setting-wpan.c
732 733
libnm_core_lib_c_real = \
	$(libnm_core_lib_c_settings_real) \
734
	shared/nm-ethtool-utils.c \
735
	shared/nm-meta-setting.c \
736
	libnm-core/nm-crypto.c \
737 738 739
	libnm-core/nm-connection.c \
	libnm-core/nm-dbus-utils.c \
	libnm-core/nm-errors.c \
740
	libnm-core/nm-keyfile.c \
741 742
	libnm-core/nm-keyfile-utils.c \
	libnm-core/nm-property-compare.c \
743 744 745 746 747
	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
748 749 750

if WITH_JSON_VALIDATION
libnm_core_lib_h_priv += \
751
	libnm-core/nm-json.h
752
libnm_core_lib_c_real += \
753
	libnm-core/nm-json.c
754 755
endif

756
libnm_core_lib_c_mkenums = \
757 758 759 760
	libnm-core/nm-core-enum-types.c

libnminclude_HEADERS += \
	$(libnm_core_lib_h_pub_real)
761

762
nodist_libnminclude_HEADERS += \
763
	$(libnm_core_lib_h_pub_mkenums)
764 765 766

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

767
dflt_cppflags_libnm_core = \
768
	$(dflt_cppflags) \
769 770 771 772
	-I$(srcdir)/shared \
	-I$(builddir)/shared \
	-I$(srcdir)/libnm-core \
	-I$(builddir)/libnm-core \
773
	$(CODE_COVERAGE_CFLAGS) \
774
	$(GLIB_CFLAGS) \
775
	$(LIBUDEV_CFLAGS) \
776 777
	$(SANITIZER_LIB_CFLAGS) \
	$(NULL)
778

779 780 781
noinst_LTLIBRARIES += libnm-core/libnm-core.la

GLIB_GENERATED += \
782 783
	$(libnm_core_lib_h_pub_mkenums) \
	$(libnm_core_lib_c_mkenums)
784
nm_core_enum_types_sources = $(libnm_core_lib_h_pub_real)
785

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

788 789
libnm-core/nm-core-enum-types.h.stamp:                                      libnm-core/.dirstamp
libnm-core/nm-core-enum-types.c.stamp:                                      libnm-core/.dirstamp
790

791 792 793 794 795 796 797 798 799 800 801
$(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)
802
$(src_devices_ovs_libnm_device_plugin_ovs_la_OBJECTS):                      $(libnm_core_lib_h_pub_mkenums)
803

804
libnm_core_libnm_core_la_CPPFLAGS = \
805
	$(dflt_cppflags_libnm_core) \
806
	-DG_LOG_DOMAIN=\""libnm"\" \
807 808
	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM_CORE \
	$(NULL)
809

810 811 812 813
if WITH_JSON_VALIDATION
libnm_core_libnm_core_la_CPPFLAGS += $(JANSSON_CFLAGS)
endif

814
libnm_core_libnm_core_la_SOURCES = \
815 816 817 818 819
	$(libnm_core_lib_h_pub_real) \
	$(libnm_core_lib_h_priv) \
	$(libnm_core_lib_c_real)

nodist_libnm_core_libnm_core_la_SOURCES = \
820 821
	$(libnm_core_lib_h_pub_mkenums) \
	$(libnm_core_lib_c_mkenums)
822 823 824

libnm_core_libnm_core_la_LIBADD = \
	$(GLIB_LIBS) \
825
	$(UUID_LIBS) \
826
	$(NULL)
827

828
libnm_core_libnm_core_la_LDFLAGS = \
829 830
	$(CODE_COVERAGE_LDFLAGS) \
	$(SANITIZER_LIB_LDFLAGS)
831

832
EXTRA_DIST += \
833 834
	libnm-core/nm-crypto-gnutls.c \
	libnm-core/nm-crypto-nss.c \
835 836 837
	libnm-core/nm-core-enum-types.c.template \
	libnm-core/nm-core-enum-types.h.template \
	libnm-core/meson.build
838

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

843
libnm-core/nm-dbus-types.xml: libnm-core/nm-dbus-interface.h tools/enums-to-docbook.pl
844
	@$(MKDIR_P) libnm-core/
845
	$(AM_V_GEN) @PERL@ $(srcdir)/tools/enums-to-docbook.pl 'nm-dbus-types' 'NetworkManager D-Bus API Types' $< >$@
846 847 848 849 850

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

851 852 853 854
dist_dependencies += \
	libnm-core/nm-vpn-dbus-types.xml \
	libnm-core/nm-dbus-types.xml

855 856
###############################################################################

857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896
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)

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

897
check_programs += \
898 899 900 901 902
	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 \
903
	libnm-core/tests/test-setting \
904 905 906 907 908 909 910
	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

911 912 913
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

914 915
$(libnm_core_tests_test_general_OBJECTS): libnm-core/tests/nm-core-tests-enum-types.h

916 917
libnm_core_tests_cppflags = \
	-I$(srcdir)/libnm-core/tests \
918
	-I$(builddir)/libnm-core/tests \
919
	$(dflt_cppflags_libnm_core) \
920 921
	-DNETWORKMANAGER_COMPILATION_TEST \
	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM_CORE \
922
	$(SANITIZER_EXEC_CFLAGS) \
923
	$(NULL)
924 925 926 927 928 929

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)
930
libnm_core_tests_test_setting_CPPFLAGS = $(libnm_core_tests_cppflags)
931 932 933 934 935 936
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

937 938 939 940
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

941 942
libnm_core_tests_ldadd = \
	libnm-core/libnm-core.la \
943 944
	shared/systemd/libnm-systemd-shared.la \
	shared/systemd/libnm-systemd-logging-stub.la \
945
	shared/nm-utils/libnm-utils-base.la \
946
	$(libnm_crypto_lib) \
947 948
	$(GLIB_LIBS)

949 950 951
libnm_core_tests_ldflags = \
	$(SANITIZER_LIB_LDFLAGS)

952 953 954 955 956
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)
957
libnm_core_tests_test_setting_LDADD = $(libnm_core_tests_ldadd)
958 959
libnm_core_tests_test_settings_defaults_LDADD = $(libnm_core_tests_ldadd)

960 961 962 963 964 965 966 967
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)

968 969 970 971 972
$(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)
973
$(libnm_core_tests_test_setting_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
974 975
$(libnm_core_tests_test_settings_defaults_OBJECTS): $(libnm_core_lib_h_pub_mkenums)

976 977 978
# test-cert.p12 created with:
#
# openssl pkcs12 -export \
979 980 981 982 983
#    -in test_key_and_cert.pem \
#    -inkey test_key_and_cert.pem \
#    -certfile test_ca_cert.pem \
#    -name "test-pkcs12" \
#    -out test-cert.p12
984 985 986 987 988 989 990 991 992

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 \
993 994
	libnm-core/tests/certs/test-aes-128-key.pem \
	libnm-core/tests/certs/test-aes-256-key.pem \
995 996 997 998 999 1000 1001 1002
	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 \
1003 1004 1005 1006
	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
1007 1008 1009

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

1010
libnm_lib_h_pub_real = \
1011 1012 1013 1014
	shared/nm-version-macros.h \
	libnm/NetworkManager.h \
	libnm/nm-access-point.h \
	libnm/nm-active-connection.h \
1015
	libnm/nm-autoptr.h \
1016
	libnm/nm-checkpoint.h \
1017
	libnm/nm-client.h \
1018
	libnm/nm-device-6lowpan.h \
1019 1020 1021 1022
	libnm/nm-device-adsl.h \
	libnm/nm-device-bond.h \
	libnm/nm-device-bridge.h \
	libnm/nm-device-bt.h \
1023
	libnm/nm-device-dummy.h \
1024 1025 1026 1027
	libnm/nm-device-ethernet.h \
	libnm/nm-device-generic.h \
	libnm/nm-device-infiniband.h \
	libnm/nm-device-ip-tunnel.h \
1028
	libnm/nm-device-macsec.h \
1029 1030 1031
	libnm/nm-device-macvlan.h \
	libnm/nm-device-modem.h \
	libnm/nm-device-olpc-mesh.h \
1032
	libnm/nm-device-ovs-interface.h \
1033
	libnm/nm-device-ovs-port.h \
1034
	libnm/nm-device-ovs-bridge.h \
Beniamino Galvani's avatar
Beniamino Galvani committed
1035
	libnm/nm-device-ppp.h \
1036 1037 1038 1039 1040 1041
	libnm/nm-device-team.h \
	libnm/nm-device-tun.h \
	libnm/nm-device-vlan.h \
	libnm/nm-device-vxlan.h \
	libnm/nm-device-wifi.h \
	libnm/nm-device-wimax.h \
1042
	libnm/nm-device-wireguard.h \
1043
	libnm/nm-device-wpan.h \
1044 1045 1046 1047 1048
	libnm/nm-device.h \
	libnm/nm-dhcp-config.h \
	libnm/nm-ip-config.h \
	libnm/nm-object.h \
	libnm/nm-remote-connection.h \
1049
	libnm/nm-secret-agent-old.h \
1050 1051 1052 1053
	libnm/nm-types.h \
	libnm/nm-vpn-connection.h \
	libnm/nm-vpn-editor.h \
	libnm/nm-vpn-plugin-old.h \
1054 1055
	libnm/nm-vpn-service-plugin.h \
	libnm/nm-wimax-nsp.h
1056
libnm_lib_h_pub_mkenums = \
1057 1058
	libnm/nm-enum-types.h
libnm_lib_h_priv = \
1059
	libnm/nm-libnm-utils.h \
1060 1061 1062 1063
	libnm/nm-dbus-helpers.h \
	libnm/nm-device-private.h \
	libnm/nm-dhcp4-config.h \
	libnm/nm-dhcp6-config.h \
1064
	libnm/nm-dns-manager.h \
1065 1066 1067 1068 1069 1070
	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
1071
libnm_lib_c_real = \
1072 1073
	libnm/nm-access-point.c \
	libnm/nm-active-connection.c \
1074
	libnm/nm-checkpoint.c \
1075 1076
	libnm/nm-client.c \
	libnm/nm-dbus-helpers.c \
1077
	libnm/nm-device-6lowpan.c \
1078 1079 1080 1081
	libnm/nm-device-adsl.c \
	libnm/nm-device-bond.c \
	libnm/nm-device-bridge.c \
	libnm/nm-device-bt.c \
1082
	libnm/nm-device-dummy.c \
1083 1084 1085 1086
	libnm/nm-device-ethernet.c \
	libnm/nm-device-generic.c \
	libnm/nm-device-infiniband.c \
	libnm/nm-device-ip-tunnel.c \
1087
	libnm/nm-device-macsec.c \
1088 1089 1090
	libnm/nm-device-macvlan.c \
	libnm/nm-device-modem.c \
	libnm/nm-device-olpc-mesh.c \
1091
	libnm/nm-device-ovs-interface.c \
1092
	libnm/nm-device-ovs-port.c \
1093
	libnm/nm-device-ovs-bridge.c \
Beniamino Galvani's avatar
Beniamino Galvani committed
1094
	libnm/nm-device-ppp.c \
1095 1096 1097 1098 1099 1100
	libnm/nm-device-team.c \
	libnm/nm-device-tun.c \
	libnm/nm-device-vlan.c \
	libnm/nm-device-vxlan.c \
	libnm/nm-device-wifi.c \
	libnm/nm-device-wimax.c \
1101
	libnm/nm-device-wireguard.c \
1102
	libnm/nm-device-wpan.c \
1103 1104 1105 1106
	libnm/nm-device.c \
	libnm/nm-dhcp-config.c \
	libnm/nm-dhcp4-config.c \
	libnm/nm-dhcp6-config.c \
1107
	libnm/nm-dns-manager.c \
1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120
	libnm/nm-ip-config.c \
	libnm/nm-ip4-config.c \
	libnm/nm-ip6-config.c \
	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-plugin-old.c \
	libnm/nm-vpn-editor.c \
	libnm/nm-vpn-service-plugin.c \
	libnm/nm-wimax-nsp.c
1121
libnm_lib_c_mkenums = \
1122 1123
	libnm/nm-enum-types.c

1124 1125 1126
libnm_lib_cppflags = \
	-I$(srcdir)/libnm \
	-I$(builddir)/libnm \
1127
	$(dflt_cppflags_libnm_core) \
1128
	-DG_LOG_DOMAIN=\""libnm"\" \
1129
	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM \
1130
	$(NULL)
1131

1132
libnminclude_HEADERS += \
1133
	$(libnm_lib_h_pub_real)
1134 1135

nodist_libnminclude_HEADERS += \
1136
	$(libnm_lib_h_pub_mkenums)
1137 1138 1139

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

1140
noinst_LTLIBRARIES += libnm/libnm-utils.la
1141 1142

libnm_libnm_utils_la_CPPFLAGS = \
1143
	$(INTROSPECTION_CFLAGS) \
1144 1145 1146 1147 1148 1149 1150
	$(libnm_lib_cppflags)

libnm_libnm_utils_la_SOURCES = \
	libnm/nm-libnm-utils.c

libnm_libnm_utils_la_LIBADD = \
	libnm-core/libnm-core.la \
1151
	$(libnm_crypto_lib) \
1152
	introspection/libnmdbus.la \
1153 1154 1155
	shared/nm-utils/libnm-utils-base.la \
	$(GLIB_LIBS) \
	$(NULL)
1156 1157 1158 1159 1160

$(libnm_libnm_utils_la_OBJECTS) : $(libnm_lib_h_pub_mkenums)

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

1161 1162 1163
lib_LTLIBRARIES += libnm/libnm.la

GLIB_GENERATED += \
1164 1165
	$(libnm_lib_h_pub_mkenums) \
	$(libnm_lib_c_mkenums)
1166
nm_enum_types_sources = \
1167
	$(libnm_lib_h_pub_mkenums) \
1168
	$(libnm_lib_h_pub_real)
1169 1170 1171
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'

1172 1173 1174 1175
$(dispatcher_nm_dispatcher_OBJECTS):                    $(libnm_lib_h_pub_mkenums)
$(dispatcher_libnm_dispatcher_core_la_OBJECTS):         $(libnm_lib_h_pub_mkenums)
$(libnm_libnm_la_OBJECTS):                              $(libnm_lib_h_pub_mkenums)
$(libnm_tests_libnm_vpn_plugin_utils_test_la_OBJECTS):  $(libnm_core_lib_h_pub_mkenums)
1176

1177
libnm_libnm_la_CPPFLAGS = \
1178
	$(libnm_lib_cppflags) \
1179 1180
	$(LIBUDEV_CFLAGS) \
	$(SANITIZER_LIB_CFLAGS)
1181 1182

libnm_libnm_la_SOURCES = \
1183 1184 1185 1186 1187
	$(libnm_lib_h_pub_real) \
	$(libnm_lib_h_priv) \
	$(libnm_lib_c_real)

nodist_libnm_libnm_la_SOURCES = \
1188 1189
	$(libnm_lib_h_pub_mkenums) \
	$(libnm_lib_c_mkenums)
1190 1191 1192 1193 1194

EXTRA_libnm_libnm_la_DEPENDENCIES = \
	libnm/libnm.ver

libnm_libnm_la_LIBADD = \
1195
	libnm/libnm-utils.la \
1196 1197
	shared/systemd/libnm-systemd-shared.la \
	shared/systemd/libnm-systemd-logging-stub.la \
1198
	shared/nm-utils/libnm-utils-udev.la \
1199 1200 1201
	$(DL_LIBS) \
	$(GLIB_LIBS) \
	$(UUID_LIBS) \
1202
	$(NULL)
1203 1204 1205 1206

libnm_libnm_la_LDFLAGS = \
	-Wl,--version-script="$(srcdir)/libnm/libnm.ver" \
	$(CODE_COVERAGE_LDFLAGS) \
1207
	$(SANITIZER_LIB_LDFLAGS) \
Thomas Haller's avatar