]> git.ipfire.org Git - people/ms/network.git/blame - Makefile
Add option to export HTML documents.
[people/ms/network.git] / Makefile
CommitLineData
de28a630 1include Makeconfig
aa574002
MT
2
3DESTDIR=
4
e7399160
MT
5# Export HTML documents to this directory.
6HTML_DOCS_DIR = html
7
120c0830
SS
8prefix=/usr
9bindir=$(prefix)/bin
10sbindir=$(prefix)/sbin
11libdir=$(prefix)/lib
afb7d704 12datadir=$(prefix)/share
120c0830
SS
13sysconfdir=/etc
14localstatedir=/var
5bb2429a 15systemdunitdir=$(prefix)/lib/systemd/system
5529407b 16tmpfilesdir=$(prefix)/lib/tmpfiles.d
120c0830 17
d9e4e1ab 18# File to store the version number in.
120c0830 19VERSION_FILE = $(DESTDIR)$(libdir)/network/version
d9e4e1ab 20
a2a6f759
MT
21# A list of files which should be removed on "make clean"
22CLEANFILES =
23
24# man pages
25MAN_PAGES = \
26 man/network.8 \
27 man/network-config.8 \
28 man/network-device.8 \
29 man/network-dns-server.8 \
30 man/network-port-batman-adv.8 \
31 man/network-port-batman-adv-port.8 \
32 man/network-route.8 \
33 man/network-zone.8 \
34 man/network-zone-bridge.8 \
35 man/network-zone-config-pppoe-server.8 \
36 man/network-zone-pppoe.8
37
38MAN_PAGES_HTML = $(patsubst %.xml,%.html,$(MAN_PAGES_XML))
39MAN_PAGES_XML = $(patsubst %.8,%.xml,$(MAN_PAGES))
40
41CLEANFILES += \
42 $(MAN_PAGES) \
43 $(MAN_PAGES_HTML)
44
45XSLTPROC = xsltproc
46
47XSLTPROC_FLAGS = \
48 --nonet \
49 --stringparam man.output.quietly 1 \
50 --stringparam funcsynopsis.style ansi \
51 --stringparam man.th.extra1.suppress 1 \
52 --stringparam man.authors.section.enabled 1 \
53 --stringparam man.copyright.section.enabled 1
54
55XSLTPROC_COMMAND_MAN = \
56 $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \
57 http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
58
59XSLTPROC_COMMAND_HTML = \
60 $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) man/custom-html.xsl $<
61
62man/%.8: man/%.xml
63 $(XSLTPROC_COMMAND_MAN)
64
65man/%.html: man/%.xml man/custom-html.xsl
66 $(XSLTPROC_COMMAND_HTML)
67
de28a630 68.PHONY: all
a2a6f759 69all: $(MAN_PAGES)
aa574002 70
de28a630 71.PHONY: install
aa574002 72install:
120c0830
SS
73 -mkdir -pv $(DESTDIR)$(sysconfdir)/{network/{ports,zones},ppp}
74 -mkdir -pv $(DESTDIR)$(libdir)/{network,sysctl.d,udev}
75 -mkdir -pv $(DESTDIR)$(localstatedir)/log/network
76 -mkdir -pv $(DESTDIR)$(sbindir)
5bb2429a 77 -mkdir -pv $(DESTDIR)$(systemdunitdir)
5529407b 78 -mkdir -pv $(DESTDIR)$(tmpfilesdir)
afb7d704 79 -mkdir -pv $(DESTDIR)$(datadir)/firewall
aa574002 80
98146c00 81 install -m 755 -v firewall $(DESTDIR)$(sbindir)
120c0830 82 install -m 755 -v network $(DESTDIR)$(sbindir)
aa574002 83
120c0830
SS
84 cp -rfv {hooks,header*,functions*} $(DESTDIR)$(libdir)/network/
85 cp -fv sysctl.d/* $(DESTDIR)$(libdir)/sysctl.d/
86 cp -rfv udev/* $(DESTDIR)$(libdir)/udev
87 cp -rfv network-* $(DESTDIR)$(libdir)/network/
5bb2429a 88 cp -vf systemd/*.service $(DESTDIR)$(systemdunitdir)
5529407b 89 cp -vf network.tmpfiles $(DESTDIR)$(tmpfilesdir)/network.conf
aa574002 90
28f0b4ab
MT
91 # Install the helper tools.
92 -mkdir -pv $(DESTDIR)$(libdir)/network/helpers
93 cp -vf helpers/* $(DESTDIR)$(libdir)/network/helpers
94
ca79d92e
MT
95 # Install bridge-stp.
96 ln -svf --relative \
97 $(DESTDIR)$(libdir)/network/helpers/bridge-stp \
98 $(DESTDIR)$(sbindir)/
30812a00 99
e9ea243e 100 # Install dhclient script and helper.
5bb2429a
MT
101 install -m 755 dhclient-helper $(DESTDIR)$(libdir)/network/
102 install -m 755 dhclient-script $(DESTDIR)$(sbindir)/
e9ea243e 103
120c0830
SS
104 install -m 755 -v ppp/ip-updown $(DESTDIR)$(sysconfdir)/ppp
105 ln -svf ip-updown $(DESTDIR)$(sysconfdir)/ppp/ip-pre-up
106 ln -svf ip-updown $(DESTDIR)$(sysconfdir)/ppp/ip-up
107 ln -svf ip-updown $(DESTDIR)$(sysconfdir)/ppp/ip-down
ef620c07
MT
108 ln -svf ip-updown $(DESTDIR)$(sysconfdir)/ppp/ipv6-up
109 ln -svf ip-updown $(DESTDIR)$(sysconfdir)/ppp/ipv6-down
6c74a64c 110 install -m 755 -v ppp/dialer $(DESTDIR)$(libdir)/network/
aa574002 111
999d659b
MT
112 # Install pppoe-server wrapper.
113 install -m 755 ppp/pppoe-server $(DESTDIR)$(libdir)/network/
114
afb7d704
MT
115 # Install the firewall macros.
116 cp -av macros $(DESTDIR)$(datadir)/firewall/
117
d9e4e1ab 118 # Create the version file.
ef620c07
MT
119 : > $(VERSION_FILE)
120 echo "# This file is automatically generated." >> $(VERSION_FILE)
de28a630
MT
121 echo "NETWORK_VERSION=$(PACKAGE_VERSION)" >> $(VERSION_FILE)
122
a2a6f759
MT
123.PHONY: clean
124clean:
125 rm -f $(CLEANFILES)
d9e4e1ab 126
aa574002 127dist:
de28a630
MT
128 git archive --format tar --prefix $(PACKAGE_NAME)-$(PACKAGE_VERSION)/ HEAD | gzip -9 > \
129 $(PACKAGE_NAME)-$(PACKAGE_VERSION).tar.gz
a2a6f759
MT
130
131.PHONY: export-html-docs
132export-html-docs: $(MAN_PAGES_HTML)
e7399160
MT
133 mkdir -pv $(HTML_DOCS_DIR)
134 cp -vf $^ $(HTML_DOCS_DIR)