1 ###############################################################################
3 # IPFire.org - A linux based firewall #
4 # Copyright (C) 2012-2013 IPFire Network Development Team #
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. #
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. #
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/>. #
19 ###############################################################################
21 PACKAGE_NAME
= network
26 # Export HTML documents to this directory.
31 sbindir
=$(prefix)/sbin
33 datadir=$(prefix)/share
37 systemdunitdir
=$(prefix)/lib
/systemd
/system
38 tmpfilesdir
=$(prefix)/lib
/tmpfiles.d
40 # File to store the version number in.
41 VERSION_FILE
= $(DESTDIR
)$(libdir)/network
/version
43 # A list of files which should be removed on "make clean"
48 man
/firewall-config
.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 \
57 man
/network-zone-6to4-tunnel
.8 \
58 man
/network-zone-aiccu
.8 \
59 man
/network-zone-bridge
.8 \
60 man
/network-zone-config-pppoe-server
.8 \
61 man
/network-zone-pppoe
.8
63 MAN_PAGES_HTML
= $(patsubst %.xml
,%.html
,$(MAN_PAGES_XML
))
64 MAN_PAGES_XML
= $(patsubst %.8,%.xml
,$(MAN_PAGES
))
65 MAN_PAGES_8
= $(filter %.8,$(MAN_PAGES
))
75 --stringparam man.output.quietly
1 \
76 --stringparam funcsynopsis.style ansi \
77 --stringparam man.th.extra1.suppress
1 \
78 --stringparam man.authors.section.enabled
1 \
79 --stringparam man.copyright.section.enabled
1
81 XSLTPROC_COMMAND_MAN
= \
82 $(XSLTPROC
) -o
$@
$(XSLTPROC_FLAGS
) \
83 http
://docbook.sourceforge.net
/release
/xsl
/current
/manpages
/docbook.xsl
$<
85 XSLTPROC_COMMAND_HTML
= \
86 $(XSLTPROC
) -o
$@
$(XSLTPROC_FLAGS
) man
/custom-html.xsl
$<
89 $(XSLTPROC_COMMAND_MAN
)
91 man
/%.html
: man
/%.xml man
/custom-html.xsl
92 $(XSLTPROC_COMMAND_HTML
)
99 -mkdir
-pv
$(DESTDIR
)$(sysconfdir
)/{network
/{ports
,zones
},ppp
}
100 -mkdir
-pv
$(DESTDIR
)$(libdir)/{network
,sysctl.d
,udev
}
101 -mkdir
-pv
$(DESTDIR
)$(localstatedir
)/log
/network
102 -mkdir
-pv
$(DESTDIR
)$(sbindir
)
103 -mkdir
-pv
$(DESTDIR
)$(systemdunitdir
)
104 -mkdir
-pv
$(DESTDIR
)$(tmpfilesdir
)
105 -mkdir
-pv
$(DESTDIR
)$(datadir)/firewall
107 install -m
755 -v firewall6
$(DESTDIR
)$(sbindir
)
108 install -m
755 -v firewall4
$(DESTDIR
)$(sbindir
)
109 install -m
755 -v network
$(DESTDIR
)$(sbindir
)
111 cp
-rfv
{hooks
,header
*,functions
*} $(DESTDIR
)$(libdir)/network
/
112 cp
-fv sysctl.d
/* $(DESTDIR
)$(libdir)/sysctl.d
/
113 cp
-rfv udev
/* $(DESTDIR
)$(libdir)/udev
114 cp
-rfv network-
* $(DESTDIR
)$(libdir)/network
/
115 cp
-vf systemd
/*.service
$(DESTDIR
)$(systemdunitdir
)
116 cp
-vf network.tmpfiles
$(DESTDIR
)$(tmpfilesdir
)/network.conf
118 # Install the helper tools.
119 -mkdir
-pv
$(DESTDIR
)$(libdir)/network
/helpers
120 cp
-vf helpers
/* $(DESTDIR
)$(libdir)/network
/helpers
122 # Install bridge-stp.
124 $(DESTDIR
)$(libdir)/network
/helpers
/bridge-stp \
125 $(DESTDIR
)$(sbindir
)/
127 # Install dhclient script and helper.
128 install -m
755 dhclient-helper
$(DESTDIR
)$(libdir)/network
/
129 install -m
755 dhclient-script
$(DESTDIR
)$(sbindir
)/
131 install -m
755 -v ppp
/ip-updown
$(DESTDIR
)$(sysconfdir
)/ppp
132 ln
-svf ip-updown
$(DESTDIR
)$(sysconfdir
)/ppp
/ip-pre-up
133 ln
-svf ip-updown
$(DESTDIR
)$(sysconfdir
)/ppp
/ip-up
134 ln
-svf ip-updown
$(DESTDIR
)$(sysconfdir
)/ppp
/ip-down
135 ln
-svf ip-updown
$(DESTDIR
)$(sysconfdir
)/ppp
/ipv6-up
136 ln
-svf ip-updown
$(DESTDIR
)$(sysconfdir
)/ppp
/ipv6-down
137 install -m
755 -v ppp
/dialer
$(DESTDIR
)$(libdir)/network
/
139 # Install pppoe-server wrapper.
140 install -m
755 ppp
/pppoe-server
$(DESTDIR
)$(libdir)/network
/
142 # Install the firewall macros.
143 cp
-av macros
$(DESTDIR
)$(datadir)/firewall
/
145 # Create the version file.
147 echo
"# This file is automatically generated." >> $(VERSION_FILE
)
148 echo
"NETWORK_VERSION=$(PACKAGE_VERSION)" >> $(VERSION_FILE
)
151 -mkdir
-pv
$(DESTDIR
)$(mandir)/man8
152 install -v
-m
644 $(MAN_PAGES_8
) $(DESTDIR
)$(mandir)/man8
159 git archive
--format
tar --prefix $(PACKAGE_NAME
)-$(PACKAGE_VERSION
)/ HEAD | gzip
-9 > \
160 $(PACKAGE_NAME
)-$(PACKAGE_VERSION
).
tar.gz
162 .PHONY
: export-html-docs
163 export-html-docs
: $(MAN_PAGES_HTML
)
164 mkdir
-pv
$(HTML_DOCS_DIR
)
165 cp
-vf
$^
$(HTML_DOCS_DIR
)