-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 $@