]> git.ipfire.org Git - people/ms/network.git/blobdiff - Makefile.am
man: Cleanup XML files
[people/ms/network.git] / Makefile.am
index 60f59607d3214b0fded56046a3209d9f9d543ec8..d79b0f25e4c4434a9b7051dd981dd56fe9c4cb06 100644 (file)
@@ -28,9 +28,10 @@ AUTOMAKE_OPTIONS = color-tests
 # keep itermediate files
 .SECONDARY:
 
+configdir        = $(sysconfdir)/network
 bashcompletiondir= $(datadir)/bash-completion/completions
 libexecdir       = $(prefix)/lib
-pkgconfigdatadir = $(datadir)/pkgconfig
+pkgconfigdir     = $(libdir)/pkgconfig
 pppdir           = $(sysconfdir)/ppp
 systemconfigdir  = $(datadir)/network
 sysctldir        = $(prefix)/lib/sysctl.d
@@ -50,6 +51,7 @@ hooks_zonesdir   = $(hooksdir)/zones
 triggersdir      = $(networkdir)/triggers
 
 logdir           = $(localestatedir)/log/network
+utildir          = $(networkdir)
 
 CLEANFILES =
 DISTCLEANFILES =
@@ -59,9 +61,21 @@ INSTALL_EXEC_HOOKS =
 UNINSTALL_EXEC_HOOKS =
 noinst_DATA =
 
-AM_CFLAGS       = $(OUR_CFLAGS)
-AM_CPPFLAGS     = $(OUR_CPPFLAGS)
-AM_LDFLAGS      = $(OUR_LDFLAGS)
+AM_CPPFLAGS = \
+       $(OUR_CPPFLAGS) \
+       -include $(top_builddir)/config.h \
+       -I${top_srcdir}/src/libnetwork
+
+AM_CFLAGS = \
+       $(OUR_CFLAGS) \
+       -fvisibility=hidden \
+       -ffunction-sections \
+       -fdata-sections
+
+AM_LDFLAGS = \
+       $(OUR_LDFLAGS) \
+       -Wl,--gc-sections \
+       -Wl,--as-needed
 
 DISTCHECK_CONFIGURE_FLAGS = \
        --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) \
@@ -75,6 +89,18 @@ INSTALL_EXEC_HOOKS += \
 
 # ------------------------------------------------------------------------------
 
+AM_V_ASCIIDOC   = $(AM_V_ASCIIDOC_$(V))
+AM_V_ASCIIDOC_  = $(AM_V_ASCIIDOC_$(AM_DEFAULT_VERBOSITY))
+AM_V_ASCIIDOC_0 = @echo "  ASCIIDOC" $@;
+
+AM_V_DOWNLOAD   = $(AM_V_DOWNLOAD_$(V))
+AM_V_DOWNLOAD_  = $(AM_V_DOWNLOAD_$(AM_DEFAULT_VERBOSITY))
+AM_V_DOWNLOAD_0 = @echo "  LOAD    " $@;
+
+AM_V_NITSI   = $(AM_V_NITSI_$(V))
+AM_V_NITSI_  = $(AM_V_NITSI_$(AM_DEFAULT_VERBOSITY))
+AM_V_NITSI_0 = @echo "  NITSI   " $@;
+
 AM_V_XSLT   = $(AM_V_XSLT_$(V))
 AM_V_XSLT_  = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY))
 AM_V_XSLT_0 = @echo "  XSLT    " $@;
@@ -93,7 +119,7 @@ dist_sbin_SCRIPTS = \
        src/firewall6 \
        src/network
 
-network_SCRIPTS = \
+network_DATA = \
        src/functions/functions
 
 CLEANFILES += \
@@ -102,10 +128,10 @@ CLEANFILES += \
 EXTRA_DIST += \
        src/functions/functions.in
 
-dist_network_SCRIPTS = \
+dist_network_DATA = \
        src/functions/functions.at \
        src/functions/functions.auth \
-       src/functions/functions.batman-adv \
+       src/functions/functions.bird \
        src/functions/functions.bonding \
        src/functions/functions.bridge \
        src/functions/functions.cli \
@@ -140,16 +166,17 @@ dist_network_SCRIPTS = \
        src/functions/functions.ip-tunnel \
        src/functions/functions.ipv4 \
        src/functions/functions.ipv6 \
+       src/functions/functions.leds \
        src/functions/functions.list \
        src/functions/functions.lock \
        src/functions/functions.logging \
        src/functions/functions.macros \
        src/functions/functions.modem \
+       src/functions/functions.offloading \
        src/functions/functions.phy \
        src/functions/functions.ports \
        src/functions/functions.ppp \
        src/functions/functions.pppoe-server \
-       src/functions/functions.radvd \
        src/functions/functions.route \
        src/functions/functions.routing \
        src/functions/functions.serial \
@@ -165,13 +192,16 @@ dist_network_SCRIPTS = \
        src/functions/functions.vpn \
        src/functions/functions.vpn-security-policies \
        src/functions/functions.wireless \
+       src/functions/functions.wireless-mesh \
+       src/functions/functions.wireless-networks \
        src/functions/functions.wpa_supplicant \
        src/functions/functions.zone \
-       src/network-radvd-config \
-       src/dhclient-helper \
        src/header-config \
        src/header-port \
-       src/header-zone \
+       src/header-zone
+
+dist_network_SCRIPTS = \
+       src/dhclient-helper \
        src/ppp/dialer \
        src/ppp/pppoe-server
 
@@ -189,30 +219,118 @@ bin_PROGRAMS = \
 src_inetcalc_SOURCES = \
        src/inetcalc.c
 
+src_inetcalc_LDADD = \
+       src/libnetwork.la
+
 dist_hooks_configs_SCRIPTS = \
        src/hooks/configs/dhcp \
-       src/hooks/configs/ipv4-static \
        src/hooks/configs/ipv6-auto \
-       src/hooks/configs/ipv6-static \
-       src/hooks/configs/pppoe-server
+       src/hooks/configs/pppoe-server \
+       src/hooks/configs/static
 
 dist_hooks_ports_SCRIPTS = \
-       src/hooks/ports/batman-adv \
        src/hooks/ports/bonding \
        src/hooks/ports/dummy \
        src/hooks/ports/ethernet \
+       src/hooks/ports/ip-tunnel \
        src/hooks/ports/vlan \
-       src/hooks/ports/wireless-adhoc \
        src/hooks/ports/wireless-ap \
        src/hooks/ports/wireless-mesh
 
 dist_hooks_zones_SCRIPTS = \
-       src/hooks/zones/6to4-tunnel \
        src/hooks/zones/bridge \
+       src/hooks/zones/ip-tunnel \
        src/hooks/zones/modem \
        src/hooks/zones/pppoe \
        src/hooks/zones/wireless
 
+INSTALL_DIRS += \
+       $(configdir) \
+       $(configdir)/ports \
+       $(configdir)/vpn \
+       $(configdir)/vpn/ipsec/connections \
+       $(configdir)/vpn/security-policies \
+       $(configdir)/wireless \
+       $(configdir)/wireless/networks \
+       $(configdir)/zones
+
+# ------------------------------------------------------------------------------
+
+LIBNETWORK_CURRENT=0
+LIBNETWORK_REVISION=0
+LIBNETWORK_AGE=0
+
+pkginclude_HEADERS = \
+       src/libnetwork/network/interface.h \
+       src/libnetwork/network/libnetwork.h \
+       src/libnetwork/network/logging.h \
+       src/libnetwork/network/phy.h
+
+lib_LTLIBRARIES = \
+       src/libnetwork.la
+
+src_libnetwork_la_SOURCES = \
+       src/libnetwork/interface.c \
+       src/libnetwork/libnetwork-private.h \
+       src/libnetwork/libnetwork.c \
+       src/libnetwork/phy.c
+
+src_libnetwork_la_LIBADD = \
+       $(LIBNL_LIBS)
+
+src_libnetwork_la_CPPFLAGS = \
+       $(AM_CPPFLAGS) \
+       $(LIBNL_CPPFLAGS) \
+       -D_GNU_SOURCE \
+       -DNETWORK_PRIVATE
+
+src_libnetwork_la_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(LIBNL_CFLAGS)
+
+src_libnetwork_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
+       -version-info $(LIBNETWORK_CURRENT):$(LIBNETWORK_REVISION):$(LIBNETWORK_AGE) \
+       -Wl,--version-script=$(top_srcdir)/src/libnetwork/libnetwork.sym
+
+src_libnetwork_la_DEPENDENCIES = \
+       src/libnetwork/libnetwork.sym
+
+EXTRA_DIST += \
+       src/libnetwork/libnetwork.sym
+
+# ------------------------------------------------------------------------------
+
+util_PROGRAMS = \
+       src/utils/network-phy-list-channels \
+       src/utils/network-phy-list-ciphers \
+       src/utils/network-phy-list-ht-caps \
+       src/utils/network-phy-list-vht-caps
+
+src_utils_network_phy_list_channels_SOURCES = \
+       src/utils/network-phy-list-channels.c
+
+src_utils_network_phy_list_channels_LDADD = \
+       src/libnetwork.la
+
+src_utils_network_phy_list_ciphers_SOURCES = \
+       src/utils/network-phy-list-ciphers.c
+
+src_utils_network_phy_list_ciphers_LDADD = \
+       src/libnetwork.la
+
+src_utils_network_phy_list_ht_caps_SOURCES = \
+       src/utils/network-phy-list-ht-caps.c
+
+src_utils_network_phy_list_ht_caps_LDADD = \
+       src/libnetwork.la
+
+src_utils_network_phy_list_vht_caps_SOURCES = \
+       src/utils/network-phy-list-vht-caps.c
+
+src_utils_network_phy_list_vht_caps_LDADD = \
+       src/libnetwork.la
+
 # ------------------------------------------------------------------------------
 
 ppp_SCRIPTS = \
@@ -310,11 +428,11 @@ endif
 
 # ------------------------------------------------------------------------------
 
-pkgconfigdata_DATA = \
+pkgconfig_DATA = \
        src/network.pc
 
 CLEANFILES += \
-       $(pkgconfigdata_DATA)
+       $(pkgconfig_DATA)
 
 EXTRA_DIST += \
        src/network.pc.in
@@ -337,29 +455,28 @@ INSTALL_DIRS += \
 MANPAGES = \
        man/firewall-settings.8 \
        man/network.8 \
-       man/network-color.8 \
-       man/network-description.8 \
        man/network-device.8 \
        man/network-dhcp.8 \
        man/network-dns-server.8 \
        man/network-performance-tuning.8 \
        man/network-port.8 \
-       man/network-port-batman-adv.8 \
-       man/network-port-batman-adv-port.8 \
        man/network-quick-start.8 \
        man/network-route.8 \
        man/network-route-static.8 \
        man/network-settings.8 \
+       man/network-vpn.8 \
+       man/network-vpn-security-policies.8 \
        man/network-zone.8 \
-       man/network-zone-6to4-tunnel.8 \
        man/network-zone-bridge.8 \
        man/network-zone-config-pppoe-server.8 \
+       man/network-zone-ip-tunnel.8 \
        man/network-zone-modem.8 \
        man/network-zone-pppoe.8 \
        man/network-zone-wireless.8
 
-MANPAGES_XML  = $(patsubst %.8,%.xml,$(MANPAGES))
-MANPAGES_HTML = $(patsubst %.xml,%.html,$(MANPAGES_XML))
+MANPAGES_TXT  = $(patsubst %.8,%.txt,$(MANPAGES))
+MANPAGES_HTML = $(patsubst %.txt,%.html,$(MANPAGES_TXT))
+MANPAGES_XML  = $(patsubst %.txt,%.xml,$(MANPAGES_TXT))
 
 .PHONY: man
 man: $(MANPAGES) $(MANPAGES_HTML)
@@ -368,15 +485,16 @@ man_MANS = \
        $(MANPAGES)
 
 noinst_DATA += \
-       $(MANPAGES_HTML)
+       $(MANPAGES_HTML) \
+       $(MANPAGES_XML)
 
 CLEANFILES += \
        $(man_MANS) \
-       $(MANPAGES_HTML)
+       $(MANPAGES_HTML) \
+       $(MANPAGES_XML)
 
 EXTRA_DIST += \
-       $(MANPAGES_XML) \
-       man/custom-html.xsl
+       $(MANPAGES_TXT)
 
 XSLTPROC_FLAGS = \
        --nonet \
@@ -390,14 +508,18 @@ XSLTPROC_COMMAND_MAN = \
        $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \
                http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
 
-XSLTPROC_COMMAND_HTML = \
-       $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $<
+man/%.xml: man/%.txt man/asciidoc.conf
+       $(AM_V_ASCIIDOC)$(ASCIIDOC) \
+               -f man/asciidoc.conf \
+               -d manpage -b docbook -o $@ $<
 
 man/%.8: man/%.xml
        $(XSLTPROC_COMMAND_MAN)
 
-man/%.html: man/%.xml man/custom-html.xsl
-       $(XSLTPROC_COMMAND_HTML)
+man/%.html: man/%.txt man/asciidoc.conf
+       $(AM_V_ASCIIDOC)$(ASCIIDOC) \
+               -f man/asciidoc.conf \
+               -b html5 -a icons -a theme=flask -o $@ $<
 
 # ------------------------------------------------------------------------------
 
@@ -405,27 +527,21 @@ substitutions = \
        '|PACKAGE_NAME=$(PACKAGE_NAME)|' \
        '|PACKAGE_URL=$(PACKAGE_URL)|' \
        '|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \
+       '|builddir=$(abs_builddir)|' \
        '|prefix=$(prefix)|' \
        '|exec_prefix=$(exec_prefix)|' \
        '|sbindir=$(sbindir)|' \
        '|networkdir=$(networkdir)|' \
-       '|helpersdir=$(helpersdir)|'
+       '|helpersdir=$(helpersdir)|' \
+       '|utildir=$(utildir)|' \
+       '|VIRTUAL_ENVIRONMENT_IMAGES_DIR=$(VIRTUAL_ENVIRONMENT_IMAGES_DIR)|'
 
 SED_PROCESS = \
        $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
        $(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \
                < $< > $@
 
-src/functions/functions: src/functions/functions.in Makefile
-       $(SED_PROCESS)
-
-src/ppp/ip-updown: src/ppp/ip-updown.in Makefile
-       $(SED_PROCESS)
-
-src/systemd/%: src/systemd/%.in Makefile
-       $(SED_PROCESS)
-
-src/%.pc: src/%.pc.in Makefile
+%: %.in Makefile
        $(SED_PROCESS)
 
 INSTALL_DIRS += \
@@ -438,6 +554,7 @@ uninstall-hook: $(UNINSTALL_EXEC_HOOKS)
 # - testsuite ------------------------------------------------------------------
 
 TESTS_ENVIRONMENT = \
+       LD_LIBRARY_PATH=$(top_builddir)/src/.libs:$(LD_LIBRARY_PATH) \
        PATH=$(top_builddir)/src:$(PATH) \
        functions=$(abs_builddir)/src/functions/functions \
        networkdir=$(abs_srcdir)/src/functions \
@@ -460,3 +577,121 @@ TESTS = \
        test/functions/ip/ip_prefix_is_valid \
        test/functions/ip/ip_protocol_is_supported \
        test/functions/ip/ip_split_prefix
+
+# - NITSI tests ----------------------------------------------------------------
+
+# Files for the virtual environment
+VIRTUAL_ENVIRONMENT_FILES = \
+       test/nitsi/virtual-environment/basic/machines/alice/machine.xml \
+       test/nitsi/virtual-environment/basic/machines/alice/snapshot.xml \
+       test/nitsi/virtual-environment/basic/machines/bob/machine.xml \
+       test/nitsi/virtual-environment/basic/machines/bob/snapshot.xml \
+       test/nitsi/virtual-environment/basic/network/network1/network.xml \
+       test/nitsi/virtual-environment/basic/network/network2/network.xml \
+       test/nitsi/virtual-environment/basic/network/network3/network.xml \
+       test/nitsi/virtual-environment/basic/network/network4/network.xml \
+       test/nitsi/virtual-environment/basic/settings
+
+EXTRA_DIST += \
+       test/nitsi/virtual-environment/basic/machines/alice/machine.xml.in \
+       test/nitsi/virtual-environment/basic/machines/alice/snapshot.xml.in \
+       test/nitsi/virtual-environment/basic/machines/bob/machine.xml.in \
+       test/nitsi/virtual-environment/basic/machines/bob/snapshot.xml.in \
+       test/nitsi/virtual-environment/basic/settings.in
+
+CLEANFILES += \
+       test/nitsi/virtual-environment/basic/machines/alice/machine.xml \
+       test/nitsi/virtual-environment/basic/machines/alice/snapshot.xml \
+       test/nitsi/virtual-environment/basic/machines/bob/machine.xml \
+       test/nitsi/virtual-environment/basic/machines/bob/snapshot.xml \
+       test/nitsi/virtual-environment/basic/settings
+
+# Virtual Machine Images
+VIRTUAL_ENVIRONMENT_IMAGES = \
+       $(VIRTUAL_ENVIRONMENT_IMAGES_DIR)/ipfire-alice-2.qcow2 \
+       $(VIRTUAL_ENVIRONMENT_IMAGES_DIR)/ipfire-bob.qcow2
+
+DISTCLEANFILES += \
+       $(VIRTUAL_ENVIRONMENT_IMAGES)
+
+VIRTUAL_ENVIRONMENT_IMAGES_DIR = $(abs_builddir)/test/nitsi/virtual-environment/.images
+VIRTUAL_ENVIRONMENT_IMAGES_DOWNLOAD_URL = \
+       https://people.ipfire.org/~jschlag/nitsi-ipfire/virtual-environment/basic/
+
+NITSI_INCLUDE_RECIPES = \
+       test/nitsi/include/setup
+
+EXTRA_DIST += \
+       test/nitsi/include/setup.in
+
+CLEANFILES += \
+       test/nitsi/include/setup
+
+NITSI_TESTS = \
+       test/nitsi/test/make-check \
+       test/nitsi/test/phase1 \
+       test/nitsi/test/pppoe \
+       test/nitsi/test/raw-device-get-by-mac \
+       test/nitsi/test/zone-new-bridge \
+       test/nitsi/test/zone-port-attach-bridge \
+       test/nitsi/test/zone/ip-tunnel/gre6 \
+       test/nitsi/test/zone/ip-tunnel/gre4 \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv4-via-ipv4 \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv4-via-ipv6 \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv6-via-ipv4 \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv6-via-ipv6 \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv64-via-ipv4 \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv64-via-ipv6 \
+       test/nitsi/test/port-vlan
+
+EXTRA_DIST += \
+       test/nitsi/test/settings.in \
+       test/nitsi/test/make-check/recipe.in \
+       test/nitsi/test/make-check/settings.in \
+       test/nitsi/test/raw-device-get-by-mac/recipe \
+       test/nitsi/test/raw-device-get-by-mac/settings.in \
+       test/nitsi/test/zone-new-bridge/recipe \
+       test/nitsi/test/zone-new-bridge/settings.in \
+       test/nitsi/test/zone-port-attach-bridge/recipe \
+       test/nitsi/test/zone-port-attach-bridge/settings.in \
+       test/nitsi/test/zone/ip-tunnel/gre6/recipe \
+       test/nitsi/test/zone/ip-tunnel/gre6/settings \
+       test/nitsi/test/zone/ip-tunnel/gre4/recipe \
+       test/nitsi/test/zone/ip-tunnel/gre4/settings \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv4-via-ipv4/recipe \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv4-via-ipv4/settings \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv4-via-ipv6/recipe \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv4-via-ipv6/settings \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv6-via-ipv4/recipe \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv6-via-ipv4/settings \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv6-via-ipv6/recipe \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv6-via-ipv6/settings \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv64-via-ipv4/recipe \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv64-via-ipv4/settings \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv64-via-ipv6/recipe \
+       test/nitsi/test/vpn/ipsec/n2n/vti/ipv64-via-ipv6/settings \
+       test/nitsi/test/port-vlan/recipe \
+       test/nitsi/test/port-vlan/settings
+
+CLEANFILES += \
+       test/nitsi/test/settings \
+       test/nitsi/test/make-check/recipe \
+       test/nitsi/test/make-check/settings \
+       test/nitsi/test/raw-device-get-by-mac/settings \
+       test/nitsi/test/zone-new-bridge/settings \
+       test/nitsi/test/zone-port-attach-bridge/settings
+
+NITSI_ENVIRONMENT =
+
+.PHONY: $(NITSI_TESTS)
+$(NITSI_TESTS): % : dist %/recipe %/settings test/nitsi/test/settings $(VIRTUAL_ENVIRONMENT_FILES) $(VIRTUAL_ENVIRONMENT_IMAGES) $(NITSI_INCLUDE_RECIPES)
+       $(AM_V_NITSI) $(NITSI_ENVIRONMENT) $(NITSI) --log-level error run-test -d $@ \
+               --default-settings $(abs_builddir)/test/nitsi/test/settings --interactive-error-handling
+
+.PHONY: nitsi
+nitsi: $(NITSI_TESTS)
+
+# Downloads a virtual image file and extracts it
+$(VIRTUAL_ENVIRONMENT_IMAGES):
+       $(AM_V_DOWNLOAD)$(MKDIR_P) $(dir $@) && \
+       $(WGET) -qO - $(VIRTUAL_ENVIRONMENT_IMAGES_DOWNLOAD_URL)/$(notdir $@).xz | xz -qd > $@