build: merge "libnm/Makefile.am" into toplevel Makefile

This commit is contained in:
Thomas Haller 2016-10-14 15:54:40 +02:00
parent 8fdd5dec72
commit 9061432d55
4 changed files with 284 additions and 384 deletions

View file

@ -1,4 +1,6 @@
include $(GLIB_MAKEFILE)
-include $(INTROSPECTION_MAKEFILE)
include nm.mk
@GNOME_CODE_COVERAGE_RULES@
@ -10,11 +12,28 @@ AUTOMAKE_OPTIONS = subdir-objects
noinst_LTLIBRARIES =
noinst_PROGRAMS =
noinst_DATA =
lib_LTLIBRARIES =
CLEANFILES =
DISTCLEANFILES =
EXTRA_DIST =
TESTS =
BUILT_SOURCES =
GLIB_GENERATED =
TESTS =
check_local =
INTROSPECTION_GIRS =
INTROSPECTION_SCANNER_ARGS =
INTROSPECTION_COMPILER_ARGS =
# Pass SANITIZER_ENV where a command that uses built libraries is
# executed, to suppress possible errors
INTROSPECTION_SCANNER_ENV = $(SANITIZER_ENV)
libnmincludedir = $(includedir)/libnm
libnminclude_HEADERS =
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA =
SUBDIRS = \
. \
@ -61,12 +80,11 @@ endif
dist: dist-check-setting-docs
DISTCLEANFILES = intltool-extract intltool-merge intltool-update
DISTCLEANFILES += intltool-extract intltool-merge intltool-update
###############################################################################
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = NetworkManager.pc
pkgconfig_DATA += NetworkManager.pc
###############################################################################
@ -372,11 +390,7 @@ libnm_core_libnm_core_sources = \
libnm-core/nm-vpn-editor-plugin.c \
libnm-core/nm-vpn-plugin-info.c
###############################################################################
libnmincludedir = $(includedir)/libnm
libnminclude_HEADERS = $(libnm_core_libnm_core_headers)
libnminclude_HEADERS += $(libnm_core_libnm_core_headers)
###############################################################################
@ -539,6 +553,253 @@ EXTRA_DIST += \
###############################################################################
libnminclude_headers = \
shared/nm-version-macros.h \
libnm/NetworkManager.h \
libnm/nm-access-point.h \
libnm/nm-active-connection.h \
libnm/nm-client.h \
libnm/nm-device-adsl.h \
libnm/nm-device-bond.h \
libnm/nm-device-bridge.h \
libnm/nm-device-bt.h \
libnm/nm-device-ethernet.h \
libnm/nm-device-generic.h \
libnm/nm-device-infiniband.h \
libnm/nm-device-ip-tunnel.h \
libnm/nm-device-macvlan.h \
libnm/nm-device-modem.h \
libnm/nm-device-olpc-mesh.h \
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 \
libnm/nm-device.h \
libnm/nm-dhcp-config.h \
libnm/nm-enum-types.h \
libnm/nm-ip-config.h \
libnm/nm-object.h \
libnm/nm-remote-connection.h \
libnm/nm-types.h \
libnm/nm-vpn-connection.h \
libnm/nm-vpn-editor.h \
libnm/nm-wimax-nsp.h
libnminclude_nointrospect_headers = \
libnm/nm-secret-agent-old.h \
libnm/nm-vpn-plugin-old.h \
libnm/nm-vpn-service-plugin.h
libnminclude_HEADERS += \
$(libnminclude_headers) \
$(libnminclude_nointrospect_headers)
###############################################################################
lib_LTLIBRARIES += libnm/libnm.la
GLIB_GENERATED += \
libnm/nm-enum-types.h \
libnm/nm-enum-types.c
nm_enum_types_sources = \
$(libnminclude_headers) \
$(libnminclude_nointrospect_headers)
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'
libnm_libnm_la_CPPFLAGS = \
-I$(srcdir)/shared \
-I$(builddir)/shared \
-I$(builddir)/introspection \
-I$(srcdir)/libnm-core \
-I$(builddir)/libnm-core \
-I$(srcdir)/libnm \
-I$(builddir)/libnm \
-DG_LOG_DOMAIN=\""libnm"\" \
-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIB \
$(GLIB_CFLAGS) \
$(GUDEV_CFLAGS) \
-DNMRUNDIR=\"$(nmrundir)\" \
$(CODE_COVERAGE_CFLAGS)
libnm_libnm_la_private_headers = \
libnm/nm-dbus-helpers.h \
libnm/nm-device-private.h \
libnm/nm-dhcp4-config.h \
libnm/nm-dhcp6-config.h \
libnm/nm-ip4-config.h \
libnm/nm-ip6-config.h \
libnm/nm-manager.h \
libnm/nm-object-cache.h \
libnm/nm-object-private.h \
libnm/nm-remote-connection-private.h \
libnm/nm-remote-settings.h
libnm_libnm_la_sources = \
libnm/nm-access-point.c \
libnm/nm-active-connection.c \
libnm/nm-client.c \
libnm/nm-dbus-helpers.c \
libnm/nm-device-adsl.c \
libnm/nm-device-bond.c \
libnm/nm-device-bridge.c \
libnm/nm-device-bt.c \
libnm/nm-device-ethernet.c \
libnm/nm-device-generic.c \
libnm/nm-device-infiniband.c \
libnm/nm-device-ip-tunnel.c \
libnm/nm-device-macvlan.c \
libnm/nm-device-modem.c \
libnm/nm-device-olpc-mesh.c \
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 \
libnm/nm-device.c \
libnm/nm-dhcp-config.c \
libnm/nm-dhcp4-config.c \
libnm/nm-dhcp6-config.c \
libnm/nm-enum-types.c \
libnm/nm-ip-config.c \
libnm/nm-ip4-config.c \
libnm/nm-ip6-config.c \
libnm/nm-manager.c \
libnm/nm-object-cache.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
libnm_libnm_la_SOURCES = \
$(libnm_libnm_la_sources) \
$(libnm_libnm_la_private_headers)
EXTRA_libnm_libnm_la_DEPENDENCIES = \
libnm/libnm.ver
libnm_libnm_la_LIBADD = \
libnm-core/libnm-core.la \
introspection/libnmdbus.la \
$(DL_LIBS) \
$(GLIB_LIBS) \
$(UUID_LIBS) \
$(GUDEV_LIBS)
libnm_libnm_la_LDFLAGS = \
-Wl,--version-script="$(srcdir)/libnm/libnm.ver" \
$(CODE_COVERAGE_LDFLAGS) \
-version-info "1:0:1"
check-local-exports-libnm: libnm/libnm.la
$(srcdir)/tools/check-exports.sh "$(builddir)/libnm/.libs/libnm.so" "$(srcdir)/libnm/libnm.ver"
check_local += check-local-exports-libnm
pkgconfig_DATA += libnm/libnm.pc
DISTCLEANFILES += \
libnm/libnm.pc
EXTRA_DIST += \
libnm/libnm.pc.in \
libnm/libnm.ver
INTROSPECTION_COMPILER_ARGS += \
--includedir=$(srcdir)/libnm-core \
--includedir=$(builddir)/libnm-core \
--includedir=$(srcdir)/libnm \
--includedir=$(builddir)/libnm
if HAVE_INTROSPECTION
introspection_sources = \
$(libnm_core_libnm_core_headers) \
$(libnminclude_headers) \
$(libnm_core_libnm_core_sources) \
$(libnm_libnm_la_sources)
libnm/NM-1.0.gir: libnm/libnm.la
libnm_NM_1_0_gir_INCLUDES = Gio-2.0
libnm_NM_1_0_gir_PACKAGES = gio-2.0 gudev-1.0
libnm_NM_1_0_gir_EXPORT_PACKAGES = libnm
libnm_NM_1_0_gir_CFLAGS = $(libnm_libnm_la_CPPFLAGS)
libnm_NM_1_0_gir_LIBS = libnm/libnm.la
libnm_NM_1_0_gir_FILES = $(introspection_sources)
libnm_NM_1_0_gir_SCANNERFLAGS = --warn-all --identifier-prefix=NM --symbol-prefix=nm
INTROSPECTION_GIRS += libnm/NM-1.0.gir
endif
if BUILD_SETTING_DOCS
libnm_noinst_data = \
libnm/nm-property-docs.xml \
libnm/nm-setting-docs-overrides.xml \
libnm/nm-setting-docs.xml \
libnm/nm-keyfile-docs.xml \
libnm/nm-ifcfg-rh-docs.xml
noinst_DATA += $(libnm_noinst_data)
libnm_docs_sources = $(filter-out %/nm-core-enum-types.c,$(libnm_core_libnm_core_sources))
libnm/nm-setting-docs-overrides.xml: libnm/generate-plugin-docs.pl $(libnm_docs_sources)
$(srcdir)/libnm/generate-plugin-docs.pl dbus "$(top_srcdir)" $@
# When the python scripts loads libnm and the address sanitizers is
# enabled, we must LD_PRELOAD libasan otherwise it will complain that
# it was not loaded as initial library.
libnm/nm-property-docs.xml: libnm/generate-setting-docs.py $(libnm_docs_sources) | libnm/NM-1.0.gir libnm/NM-1.0.typelib libnm/libnm.la
export GI_TYPELIB_PATH=$(abs_builddir)/libnm$${GI_TYPELIB_PATH:+:$$GI_TYPELIB_PATH}; \
export LD_LIBRARY_PATH=$(abs_builddir)/libnm/.libs$${LD_LIBRARY_PATH:+:$$LD_LIBRARY_PATH}; \
$(call set_sanitizer_env,$(abs_builddir)/libnm/.libs/libnm.so); \
$(srcdir)/libnm/generate-setting-docs.py \
--gir $(builddir)/libnm/NM-1.0.gir \
--output $@
libnm/nm-setting-docs.xml: libnm/generate-setting-docs.py $(libnm_docs_sources) libnm/nm-setting-docs-overrides.xml | libnm/NM-1.0.gir libnm/NM-1.0.typelib libnm/libnm.la
export GI_TYPELIB_PATH=$(abs_builddir)/libnm$${GI_TYPELIB_PATH:+:$$GI_TYPELIB_PATH}; \
export LD_LIBRARY_PATH=$(abs_builddir)/libnm/.libs$${LD_LIBRARY_PATH:+:$$LD_LIBRARY_PATH}; \
$(call set_sanitizer_env,$(abs_builddir)/libnm/.libs/libnm.so); \
$(srcdir)/libnm/generate-setting-docs.py \
--gir $(builddir)/libnm/NM-1.0.gir \
--overrides $(builddir)/libnm/nm-setting-docs-overrides.xml \
--output $@
libnm/nm-keyfile-docs.xml: libnm/generate-plugin-docs.pl $(libnm_docs_sources)
$(srcdir)/libnm/generate-plugin-docs.pl keyfile "$(top_srcdir)" $@
libnm/nm-ifcfg-rh-docs.xml: libnm/generate-plugin-docs.pl $(libnm_docs_sources)
$(srcdir)/libnm/generate-plugin-docs.pl ifcfg-rh "$(top_srcdir)" $@
EXTRA_DIST += $(libnm_noinst_data)
endif
EXTRA_DIST += \
libnm/generate-setting-docs.py \
libnm/generate-plugin-docs.pl
###############################################################################
girdir = $(datadir)/gir-1.0
gir_DATA = $(INTROSPECTION_GIRS)
typelibdir = $(libdir)/girepository-1.0
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
###############################################################################
EXTRA_DIST += \
CONTRIBUTING \
NetworkManager.pc.in \
@ -573,7 +834,10 @@ EXTRA_DIST += \
\
$(NULL)
BUILT_SOURCES += $(GLIB_GENERATED)
BUILT_SOURCES += \
$(GLIB_GENERATED) \
$(gir_DATA) \
$(typelib_DATA)
CLEANFILES += \
$(BUILT_SOURCES) \
@ -588,9 +852,13 @@ CLEANFILES += \
###############################################################################
check-local: $(check_local)
###############################################################################
cscope:
cscope -b -q -R -sshared -ssrc -slibnm-core -slibnm -slibnm-glib -slibnm-util -sclients;
###############################################################################
.PHONY: cscope
.PHONY: cscope $(check_local)

View file

@ -1,115 +0,0 @@
# In order for this to work correctly from both libnm-core/ and libnm/,
# we have to specify full pathnames. (We can't just use $(addprefix) from
# libnm/, because that's incompatible with the Makefile.introspection rules.)
core = $(top_srcdir)/libnm-core
core_build = $(top_builddir)/libnm-core
libnm_core_headers = \
$(top_builddir)/shared/nm-version-macros.h \
$(core_build)/nm-core-enum-types.h \
$(core)/nm-connection.h \
$(core)/nm-core-types.h \
$(core)/nm-dbus-interface.h \
$(core)/nm-errors.h \
$(core)/nm-setting-8021x.h \
$(core)/nm-setting-adsl.h \
$(core)/nm-setting-bluetooth.h \
$(core)/nm-setting-bond.h \
$(core)/nm-setting-bridge-port.h \
$(core)/nm-setting-bridge.h \
$(core)/nm-setting-cdma.h \
$(core)/nm-setting-connection.h \
$(core)/nm-setting-dcb.h \
$(core)/nm-setting-generic.h \
$(core)/nm-setting-gsm.h \
$(core)/nm-setting-infiniband.h \
$(core)/nm-setting-ip-config.h \
$(core)/nm-setting-ip-tunnel.h \
$(core)/nm-setting-ip4-config.h \
$(core)/nm-setting-ip6-config.h \
$(core)/nm-setting-macvlan.h \
$(core)/nm-setting-olpc-mesh.h \
$(core)/nm-setting-ppp.h \
$(core)/nm-setting-pppoe.h \
$(core)/nm-setting-proxy.h \
$(core)/nm-setting-serial.h \
$(core)/nm-setting-team-port.h \
$(core)/nm-setting-team.h \
$(core)/nm-setting-tun.h \
$(core)/nm-setting-vlan.h \
$(core)/nm-setting-vpn.h \
$(core)/nm-setting-vxlan.h \
$(core)/nm-setting-wimax.h \
$(core)/nm-setting-wired.h \
$(core)/nm-setting-wireless-security.h \
$(core)/nm-setting-wireless.h \
$(core)/nm-setting.h \
$(core)/nm-simple-connection.h \
$(core)/nm-utils.h \
$(core)/nm-version.h \
$(core)/nm-vpn-dbus-interface.h \
$(core)/nm-vpn-editor-plugin.h \
$(core)/nm-vpn-plugin-info.h
libnm_core_private_headers = \
$(top_builddir)/shared/nm-utils/nm-shared-utils.h \
$(core)/crypto.h \
$(core)/nm-connection-private.h \
$(core)/nm-core-internal.h \
$(core)/nm-core-types-internal.h \
$(core)/nm-keyfile-internal.h \
$(core)/nm-keyfile-utils.h \
$(core)/nm-property-compare.h \
$(core)/nm-setting-private.h \
$(core)/nm-utils-private.h
libnm_core_sources = \
$(top_builddir)/shared/nm-utils/nm-shared-utils.c \
$(core_build)/nm-core-enum-types.c \
$(core)/crypto.c \
$(core)/nm-connection.c \
$(core)/nm-dbus-utils.c \
$(core)/nm-errors.c \
$(core)/nm-keyfile-reader.c \
$(core)/nm-keyfile-utils.c \
$(core)/nm-keyfile-writer.c \
$(core)/nm-property-compare.c \
$(core)/nm-setting-8021x.c \
$(core)/nm-setting-adsl.c \
$(core)/nm-setting-bluetooth.c \
$(core)/nm-setting-bond.c \
$(core)/nm-setting-bridge-port.c \
$(core)/nm-setting-bridge.c \
$(core)/nm-setting-cdma.c \
$(core)/nm-setting-connection.c \
$(core)/nm-setting-dcb.c \
$(core)/nm-setting-generic.c \
$(core)/nm-setting-gsm.c \
$(core)/nm-setting-infiniband.c \
$(core)/nm-setting-ip-config.c \
$(core)/nm-setting-ip-tunnel.c \
$(core)/nm-setting-ip4-config.c \
$(core)/nm-setting-ip6-config.c \
$(core)/nm-setting-macvlan.c \
$(core)/nm-setting-olpc-mesh.c \
$(core)/nm-setting-ppp.c \
$(core)/nm-setting-pppoe.c \
$(core)/nm-setting-proxy.c \
$(core)/nm-setting-serial.c \
$(core)/nm-setting-team-port.c \
$(core)/nm-setting-team.c \
$(core)/nm-setting-tun.c \
$(core)/nm-setting-vlan.c \
$(core)/nm-setting-vpn.c \
$(core)/nm-setting-vxlan.c \
$(core)/nm-setting-wimax.c \
$(core)/nm-setting-wired.c \
$(core)/nm-setting-wireless-security.c \
$(core)/nm-setting-wireless.c \
$(core)/nm-setting.c \
$(core)/nm-simple-connection.c \
$(core)/nm-utils.c \
$(core)/nm-vpn-editor-plugin.c \
$(core)/nm-vpn-plugin-info.c

View file

@ -1,254 +1 @@
include $(GLIB_MAKEFILE)
include $(top_srcdir)/nm.mk
@GNOME_CODE_COVERAGE_RULES@
SUBDIRS = . tests
AM_CPPFLAGS = \
-I$(top_srcdir)/shared \
-I$(top_builddir)/shared \
-I$(top_builddir)/introspection \
-I$(top_srcdir)/libnm-core \
-I$(top_builddir)/libnm-core \
-I$(top_srcdir)/libnm \
-I$(top_builddir)/libnm \
-DG_LOG_DOMAIN=\""libnm"\" \
-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIB \
$(GLIB_CFLAGS) \
$(GUDEV_CFLAGS) \
-DNMRUNDIR=\"$(nmrundir)\" \
$(CODE_COVERAGE_CFLAGS)
include $(top_srcdir)/libnm-core/Makefile.libnm-core
# libnm
lib_LTLIBRARIES = libnm.la
libnmincludedir = $(includedir)/libnm
libnminclude_hfiles = \
$(top_builddir)/shared/nm-version-macros.h \
NetworkManager.h \
nm-access-point.h \
nm-active-connection.h \
nm-client.h \
nm-device-adsl.h \
nm-device-bond.h \
nm-device-bridge.h \
nm-device-bt.h \
nm-device-ethernet.h \
nm-device-generic.h \
nm-device-infiniband.h \
nm-device-ip-tunnel.h \
nm-device-macvlan.h \
nm-device-modem.h \
nm-device-olpc-mesh.h \
nm-device-team.h \
nm-device-tun.h \
nm-device-vlan.h \
nm-device-vxlan.h \
nm-device-wifi.h \
nm-device-wimax.h \
nm-device.h \
nm-dhcp-config.h \
nm-enum-types.h \
nm-ip-config.h \
nm-object.h \
nm-remote-connection.h \
nm-types.h \
nm-vpn-connection.h \
nm-vpn-editor.h \
nm-wimax-nsp.h
libnminclude_nointrospect_hfiles = \
nm-secret-agent-old.h \
nm-vpn-plugin-old.h \
nm-vpn-service-plugin.h
libnminclude_HEADERS = \
$(libnminclude_hfiles) \
$(libnminclude_nointrospect_hfiles)
libnm_la_private_headers = \
nm-dbus-helpers.h \
nm-device-private.h \
nm-dhcp4-config.h \
nm-dhcp6-config.h \
nm-ip4-config.h \
nm-ip6-config.h \
nm-manager.h \
nm-object-cache.h \
nm-object-private.h \
nm-remote-connection-private.h \
nm-remote-settings.h
libnm_la_csources = \
nm-access-point.c \
nm-active-connection.c \
nm-client.c \
nm-dbus-helpers.c \
nm-device-adsl.c \
nm-device-bond.c \
nm-device-bridge.c \
nm-device-bt.c \
nm-device-ethernet.c \
nm-device-generic.c \
nm-device-infiniband.c \
nm-device-ip-tunnel.c \
nm-device-macvlan.c \
nm-device-modem.c \
nm-device-olpc-mesh.c \
nm-device-team.c \
nm-device-tun.c \
nm-device-vlan.c \
nm-device-vxlan.c \
nm-device-wifi.c \
nm-device-wimax.c \
nm-device.c \
nm-dhcp-config.c \
nm-dhcp4-config.c \
nm-dhcp6-config.c \
nm-enum-types.c \
nm-ip-config.c \
nm-ip4-config.c \
nm-ip6-config.c \
nm-manager.c \
nm-object-cache.c \
nm-object.c \
nm-remote-connection.c \
nm-remote-settings.c \
nm-secret-agent-old.c \
nm-vpn-connection.c \
nm-vpn-plugin-old.c \
nm-vpn-editor.c \
nm-vpn-service-plugin.c \
nm-wimax-nsp.c
libnm_la_SOURCES = \
$(libnm_la_csources) \
$(libnm_la_private_headers)
GLIB_GENERATED = nm-enum-types.h nm-enum-types.c
nm_enum_types_sources = $(libnminclude_HEADERS)
GLIB_MKENUMS_H_FLAGS = --identifier-prefix NM --fhead '\#include <nm-core-enum-types.h>\n'
GLIB_MKENUMS_C_FLAGS = --identifier-prefix NM --fhead '\#include "nm-default.h"\n'
EXTRA_libnm_la_DEPENDENCIES = \
libnm.ver
libnm_la_LIBADD = \
$(top_builddir)/libnm-core/libnm-core.la \
$(top_builddir)/introspection/libnmdbus.la \
$(DL_LIBS) \
$(GLIB_LIBS) \
$(UUID_LIBS) \
$(GUDEV_LIBS)
SYMBOL_VIS_FILE=$(srcdir)/libnm.ver
libnm_la_LDFLAGS = -Wl,--version-script=$(SYMBOL_VIS_FILE) \
$(CODE_COVERAGE_LDFLAGS) \
-version-info "1:0:1"
###
BUILT_SOURCES = $(GLIB_GENERATED)
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libnm.pc
DISTCLEANFILES = libnm.pc
EXTRA_DIST = libnm.pc.in libnm.ver
CLEANFILES = $(BUILT_SOURCES)
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
INTROSPECTION_COMPILER_ARGS = \
--includedir=$(top_srcdir)/libnm-core \
--includedir=$(top_builddir)/libnm-core \
--includedir=$(top_srcdir)/libnm \
--includedir=$(top_builddir)/libnm
# Pass SANITIZER_ENV where a command that uses built libraries is
# executed, to suppress possible errors
INTROSPECTION_SCANNER_ENV = $(SANITIZER_ENV)
if HAVE_INTROSPECTION
introspection_sources = \
$(libnm_core_headers) \
$(libnminclude_hfiles) \
$(libnm_core_sources) \
$(libnm_la_csources)
NM-1.0.gir: libnm.la
NM_1_0_gir_INCLUDES = Gio-2.0
NM_1_0_gir_PACKAGES = gio-2.0 gudev-1.0
NM_1_0_gir_EXPORT_PACKAGES = libnm
NM_1_0_gir_CFLAGS = $(AM_CPPFLAGS)
NM_1_0_gir_LIBS = libnm.la
NM_1_0_gir_FILES = $(introspection_sources)
NM_1_0_gir_SCANNERFLAGS = --warn-all --identifier-prefix=NM --symbol-prefix=nm
INTROSPECTION_GIRS += NM-1.0.gir
girdir = $(datadir)/gir-1.0
gir_DATA = $(INTROSPECTION_GIRS)
typelibdir = $(libdir)/girepository-1.0
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
CLEANFILES += $(gir_DATA) $(typelib_DATA)
endif
check-local:
$(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm.so $(SYMBOL_VIS_FILE)
if BUILD_SETTING_DOCS
noinst_DATA = \
nm-property-docs.xml \
nm-setting-docs-overrides.xml \
nm-setting-docs.xml \
nm-keyfile-docs.xml \
nm-ifcfg-rh-docs.xml
docs_sources = $(filter-out %/nm-core-enum-types.c,$(libnm_core_sources))
nm-setting-docs-overrides.xml: generate-plugin-docs.pl $(docs_sources)
$(srcdir)/generate-plugin-docs.pl dbus $(top_srcdir)/libnm-core $@
# When the python scripts loads libnm and the address sanitizers is
# enabled, we must LD_PRELOAD libasan otherwise it will complain that
# it was not loaded as initial library.
nm-property-docs.xml: generate-setting-docs.py $(docs_sources) | NM-1.0.gir NM-1.0.typelib libnm.la
export GI_TYPELIB_PATH=$(abs_builddir)$${GI_TYPELIB_PATH:+:$$GI_TYPELIB_PATH}; \
export LD_LIBRARY_PATH=$(abs_builddir)/.libs$${LD_LIBRARY_PATH:+:$$LD_LIBRARY_PATH}; \
$(call set_sanitizer_env,$(abs_builddir)/.libs/libnm.so); \
$(srcdir)/generate-setting-docs.py \
--gir $(builddir)/NM-1.0.gir \
--output $@
nm-setting-docs.xml: generate-setting-docs.py $(docs_sources) nm-setting-docs-overrides.xml | NM-1.0.gir NM-1.0.typelib libnm.la
export GI_TYPELIB_PATH=$(abs_builddir)$${GI_TYPELIB_PATH:+:$$GI_TYPELIB_PATH}; \
export LD_LIBRARY_PATH=$(abs_builddir)/.libs$${LD_LIBRARY_PATH:+:$$LD_LIBRARY_PATH}; \
$(call set_sanitizer_env,$(abs_builddir)/.libs/libnm.so); \
$(srcdir)/generate-setting-docs.py \
--gir $(builddir)/NM-1.0.gir \
--overrides $(builddir)/nm-setting-docs-overrides.xml \
--output $@
nm-keyfile-docs.xml: generate-plugin-docs.pl $(docs_sources)
$(srcdir)/generate-plugin-docs.pl keyfile $(top_srcdir)/libnm-core $@
nm-ifcfg-rh-docs.xml: generate-plugin-docs.pl $(docs_sources)
$(srcdir)/generate-plugin-docs.pl ifcfg-rh $(top_srcdir)/libnm-core $@
CLEANFILES += $(noinst_DATA)
EXTRA_DIST += $(noinst_DATA)
endif
EXTRA_DIST += generate-setting-docs.py generate-plugin-docs.pl
SUBDIRS = tests

View file

@ -60,12 +60,12 @@ my $start_tag = "---$plugin---\\s*\$";
my $end_tag = '---end---';
# get source files to scan for documentation comments (nm-setting-<something>.c)
my $file = "$srcdir/Makefile.libnm-core";
my $file = "$srcdir/Makefile.am";
open my $fh, '<', $file or die "Can't open $file: $!";
while (my $line = <$fh>) {
chomp $line;
my @strings = $line =~ /\/(nm-setting-[^.]*\.c)(?:\s|$)/g;
push @source_files, @strings
if ($line =~ /^\t*(libnm-core\/nm-setting-[^.]*\.c)( \\)?$/g) {
push @source_files, $1;
}
}
close $fh;