]> git.ipfire.org Git - people/stevee/network.git/blame - Makefile
6rd: Add documentation.
[people/stevee/network.git] / Makefile
CommitLineData
bf41b85d
MT
1###############################################################################
2# #
3# IPFire.org - A linux based firewall #
4# Copyright (C) 2012-2013 IPFire Network Development Team #
5# #
6# This program is free software: you can redistribute it and/or modify #
7# it under the terms of the GNU General Public License as published by #
8# the Free Software Foundation, either version 3 of the License, or #
9# (at your option) any later version. #
10# #
11# This program is distributed in the hope that it will be useful, #
12# but WITHOUT ANY WARRANTY; without even the implied warranty of #
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
14# GNU General Public License for more details. #
15# #
16# You should have received a copy of the GNU General Public License #
17# along with this program. If not, see <http://www.gnu.org/licenses/>. #
18# #
19###############################################################################
20
21PACKAGE_NAME = network
1fbaa96c 22PACKAGE_VERSION = 006
aa574002
MT
23
24DESTDIR=
25
e7399160
MT
26# Export HTML documents to this directory.
27HTML_DOCS_DIR = html
28
120c0830
SS
29prefix=/usr
30bindir=$(prefix)/bin
31sbindir=$(prefix)/sbin
32libdir=$(prefix)/lib
afb7d704 33datadir=$(prefix)/share
f8915761 34mandir=$(datadir)/man
120c0830
SS
35sysconfdir=/etc
36localstatedir=/var
5bb2429a 37systemdunitdir=$(prefix)/lib/systemd/system
5529407b 38tmpfilesdir=$(prefix)/lib/tmpfiles.d
120c0830 39
d9e4e1ab 40# File to store the version number in.
120c0830 41VERSION_FILE = $(DESTDIR)$(libdir)/network/version
d9e4e1ab 42
a2a6f759
MT
43# A list of files which should be removed on "make clean"
44CLEANFILES =
45
46# man pages
47MAN_PAGES = \
ef953be2 48 man/firewall-config.8 \
a2a6f759
MT
49 man/network.8 \
50 man/network-config.8 \
51 man/network-device.8 \
52 man/network-dns-server.8 \
53 man/network-port-batman-adv.8 \
54 man/network-port-batman-adv-port.8 \
55 man/network-route.8 \
56 man/network-zone.8 \
4f96eecf 57 man/network-zone-6rd.8 \
1e00d198 58 man/network-zone-6to4-tunnel.8 \
0107b433 59 man/network-zone-aiccu.8 \
a2a6f759
MT
60 man/network-zone-bridge.8 \
61 man/network-zone-config-pppoe-server.8 \
62 man/network-zone-pppoe.8
63
64MAN_PAGES_HTML = $(patsubst %.xml,%.html,$(MAN_PAGES_XML))
65MAN_PAGES_XML = $(patsubst %.8,%.xml,$(MAN_PAGES))
f8915761 66MAN_PAGES_8 = $(filter %.8,$(MAN_PAGES))
a2a6f759
MT
67
68CLEANFILES += \
69 $(MAN_PAGES) \
70 $(MAN_PAGES_HTML)
71
72XSLTPROC = xsltproc
73
74XSLTPROC_FLAGS = \
75 --nonet \
76 --stringparam man.output.quietly 1 \
77 --stringparam funcsynopsis.style ansi \
78 --stringparam man.th.extra1.suppress 1 \
79 --stringparam man.authors.section.enabled 1 \
80 --stringparam man.copyright.section.enabled 1
81
82XSLTPROC_COMMAND_MAN = \
83 $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \
84 http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
85
86XSLTPROC_COMMAND_HTML = \
87 $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) man/custom-html.xsl $<
88
89man/%.8: man/%.xml
90 $(XSLTPROC_COMMAND_MAN)
91
92man/%.html: man/%.xml man/custom-html.xsl
93 $(XSLTPROC_COMMAND_HTML)
94
de28a630 95.PHONY: all
a2a6f759 96all: $(MAN_PAGES)
aa574002 97
de28a630 98.PHONY: install
f8915761 99install: $(MAN_PAGES)
120c0830
SS
100 -mkdir -pv $(DESTDIR)$(sysconfdir)/{network/{ports,zones},ppp}
101 -mkdir -pv $(DESTDIR)$(libdir)/{network,sysctl.d,udev}
102 -mkdir -pv $(DESTDIR)$(localstatedir)/log/network
103 -mkdir -pv $(DESTDIR)$(sbindir)
5bb2429a 104 -mkdir -pv $(DESTDIR)$(systemdunitdir)
5529407b 105 -mkdir -pv $(DESTDIR)$(tmpfilesdir)
afb7d704 106 -mkdir -pv $(DESTDIR)$(datadir)/firewall
aa574002 107
1206f44c 108 install -m 755 -v firewall-config $(DESTDIR)$(sbindir)
fe52c5e0
MT
109 install -m 755 -v firewall6 $(DESTDIR)$(sbindir)
110 install -m 755 -v firewall4 $(DESTDIR)$(sbindir)
120c0830 111 install -m 755 -v network $(DESTDIR)$(sbindir)
aa574002 112
120c0830
SS
113 cp -rfv {hooks,header*,functions*} $(DESTDIR)$(libdir)/network/
114 cp -fv sysctl.d/* $(DESTDIR)$(libdir)/sysctl.d/
115 cp -rfv udev/* $(DESTDIR)$(libdir)/udev
116 cp -rfv network-* $(DESTDIR)$(libdir)/network/
5bb2429a 117 cp -vf systemd/*.service $(DESTDIR)$(systemdunitdir)
5529407b 118 cp -vf network.tmpfiles $(DESTDIR)$(tmpfilesdir)/network.conf
aa574002 119
28f0b4ab
MT
120 # Install the helper tools.
121 -mkdir -pv $(DESTDIR)$(libdir)/network/helpers
122 cp -vf helpers/* $(DESTDIR)$(libdir)/network/helpers
123
ca79d92e
MT
124 # Install bridge-stp.
125 ln -svf --relative \
126 $(DESTDIR)$(libdir)/network/helpers/bridge-stp \
127 $(DESTDIR)$(sbindir)/
30812a00 128
e9ea243e 129 # Install dhclient script and helper.
5bb2429a
MT
130 install -m 755 dhclient-helper $(DESTDIR)$(libdir)/network/
131 install -m 755 dhclient-script $(DESTDIR)$(sbindir)/
e9ea243e 132
120c0830
SS
133 install -m 755 -v ppp/ip-updown $(DESTDIR)$(sysconfdir)/ppp
134 ln -svf ip-updown $(DESTDIR)$(sysconfdir)/ppp/ip-pre-up
135 ln -svf ip-updown $(DESTDIR)$(sysconfdir)/ppp/ip-up
136 ln -svf ip-updown $(DESTDIR)$(sysconfdir)/ppp/ip-down
ef620c07
MT
137 ln -svf ip-updown $(DESTDIR)$(sysconfdir)/ppp/ipv6-up
138 ln -svf ip-updown $(DESTDIR)$(sysconfdir)/ppp/ipv6-down
6c74a64c 139 install -m 755 -v ppp/dialer $(DESTDIR)$(libdir)/network/
aa574002 140
999d659b
MT
141 # Install pppoe-server wrapper.
142 install -m 755 ppp/pppoe-server $(DESTDIR)$(libdir)/network/
143
afb7d704
MT
144 # Install the firewall macros.
145 cp -av macros $(DESTDIR)$(datadir)/firewall/
146
d9e4e1ab 147 # Create the version file.
ef620c07
MT
148 : > $(VERSION_FILE)
149 echo "# This file is automatically generated." >> $(VERSION_FILE)
de28a630
MT
150 echo "NETWORK_VERSION=$(PACKAGE_VERSION)" >> $(VERSION_FILE)
151
f8915761
MT
152 # Install man pages.
153 -mkdir -pv $(DESTDIR)$(mandir)/man8
154 install -v -m 644 $(MAN_PAGES_8) $(DESTDIR)$(mandir)/man8
155
a2a6f759
MT
156.PHONY: clean
157clean:
158 rm -f $(CLEANFILES)
d9e4e1ab 159
aa574002 160dist:
de28a630
MT
161 git archive --format tar --prefix $(PACKAGE_NAME)-$(PACKAGE_VERSION)/ HEAD | gzip -9 > \
162 $(PACKAGE_NAME)-$(PACKAGE_VERSION).tar.gz
a2a6f759
MT
163
164.PHONY: export-html-docs
165export-html-docs: $(MAN_PAGES_HTML)
e7399160
MT
166 mkdir -pv $(HTML_DOCS_DIR)
167 cp -vf $^ $(HTML_DOCS_DIR)