]> git.proxmox.com Git - pve-firewall.git/blobdiff - src/Makefile
ebtables: add arp filtering
[pve-firewall.git] / src / Makefile
index f1c868b817701da896f1d2563299176b3c9d7ad7..2280abde2b4c6cae607d753b20d39d7cd60738fc 100644 (file)
@@ -1,16 +1,27 @@
 
-PREFIX=/usr
-BINDIR=${PREFIX}/bin
-SBINDIR=${PREFIX}/sbin
-MANDIR=${PREFIX}/share/man
-DOCDIR=${PREFIX}/share/doc
-MAN1DIR=${MANDIR}/man1/
-PERLDIR=${PREFIX}/share/perl5
-
-LIB_SOURCES=                   \
-       Firewall.pm
-
-all: pvefw-logger
+export PREFIX=/usr
+export BINDIR=${PREFIX}/bin
+export SBINDIR=${PREFIX}/sbin
+export MANDIR=${PREFIX}/share/man
+export DOCDIR=${PREFIX}/share/doc/pve-firewall
+export MAN1DIR=${MANDIR}/man1/
+export MAN8DIR=${MANDIR}/man8/
+export PERLDIR=${PREFIX}/share/perl5
+export BASHCOMPLDIR=${PREFIX}/share/bash-completion/completions
+export ZSHCOMPLDIR=${PREFIX}/share/zsh/vendor-completions
+
+export NOVIEW=1
+include /usr/share/pve-doc-generator/pve-doc-generator.mk
+
+all: pve-firewall.8 pvefw-logger
+
+pve-firewall.bash-completion: PVE/Service/pve_firewall.pm
+       perl -I. -T -e "use PVE::Service::pve_firewall; PVE::Service::pve_firewall->generate_bash_completions();" >$@.tmp
+       mv $@.tmp $@
+
+pve-firewall.zsh-completion: PVE/Service/pve_firewall.pm
+       perl -I. -T -e "use PVE::Service::pve_firewall; PVE::Service::pve_firewall->generate_zsh_completions();" >$@.tmp
+       mv $@.tmp $@
 
 CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
 CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
@@ -19,20 +30,28 @@ LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
 pvefw-logger: pvefw-logger.c
        gcc -Wall -Werror pvefw-logger.c -o pvefw-logger -std=gnu99 \
        $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) \
-       $(shell pkg-config libnetfilter_log glib-2.0 gthread-2.0 --libs --cflags)
+       $(shell pkg-config libnetfilter_log libnetfilter_conntrack glib-2.0 --libs --cflags)
 
 .PHONY: install
-install: pvefw pvefw-logger
+install: pve-firewall pve-firewall.8 pve-firewall.bash-completion pve-firewall.zsh-completion pvefw-logger
+       make -C PVE install
        install -d -m 0755 ${DESTDIR}/${SBINDIR}
-       install -m 0755 pvefw ${DESTDIR}/${SBINDIR}
-       install -m 0755 --strip pvefw-logger ${DESTDIR}/${SBINDIR}
-       install -d -m 0755 ${DESTDIR}${PERLDIR}/PVE
-       for i in ${LIB_SOURCES}; do install -D -m 0644 PVE/$$i ${DESTDIR}${PERLDIR}/PVE/$$i; done
-
+       install -m 0755 pve-firewall ${DESTDIR}/${SBINDIR}
+       install -m 0755 pvefw-logger ${DESTDIR}/${SBINDIR}
+       install -d ${DESTDIR}/${MAN8DIR}
+       install -m 0644 pve-firewall.8 ${DESTDIR}/${MAN8DIR}
+       install -m 0644 -D pve-firewall.bash-completion ${DESTDIR}/${BASHCOMPLDIR}/pve-firewall
+       install -m 0644 -D pve-firewall.zsh-completion ${DESTDIR}/${ZSHCOMPLDIR}/_pve-firewall
+       install -d -m 0755 ${DESTDIR}/usr/lib/sysctl.d/
+       install -m 0644 pve-firewall-sysctl.conf ${DESTDIR}/usr/lib/sysctl.d/pve-firewall.conf
 
 .PHONY: clean
 clean:         
-       rm -rf *~ pvefw-logger
+       make -C PVE clean
+       make cleanup-docgen
+       rm -rf pvefw-logger 
+       find . -name '*~' -exec rm {} ';'
+
 
 .PHONY: distclean
 distclean: clean