]> git.proxmox.com Git - pve-firewall.git/blobdiff - src/Makefile
bump version to 5.0.4
[pve-firewall.git] / src / Makefile
index 3a578cdb5ff462d63b491abc2a20d8848b584716..aaece5adbd336926a7ed9c1700de140782e66f0a 100644 (file)
@@ -1,29 +1,52 @@
+DESTDIR=
+PREFIX= /usr
+BINDIR=$(DESTDIR)/$(PREFIX)/bin
+SBINDIR=$(DESTDIR)/$(PREFIX)/sbin
+MANDIR=$(DESTDIR)/$(PREFIX)/share/man
+DOCDIR=$(DESTDIR)/$(PREFIX)/share/doc/pve-firewall
+MAN1DIR=$(MANDIR)/man1/
+MAN8DIR=$(MANDIR)/man8/
+BASHCOMPLDIR=$(DESTDIR)/$(PREFIX)/share/bash-completion/completions
+ZSHCOMPLDIR=$(DESTDIR)/$(PREFIX)/share/zsh/vendor-completions
 
-PREFIX=/usr
-BINDIR=${PREFIX}/bin
-SBINDIR=${PREFIX}/bin
-MANDIR=${PREFIX}/share/man
-DOCDIR=${PREFIX}/share/doc
-MAN1DIR=${MANDIR}/man1/
-PERLDIR=${PREFIX}/share/perl5
+-include /usr/share/pve-doc-generator/pve-doc-generator.mk
 
-LIB_SOURCES=                   \
-       Firewall.pm
+all: pve-firewall.8 pvefw-logger
 
-all:
+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 $@
 
-.PHONY: install
-install:
-       install -d -m 0755 ${DESTDIR}/${SBINDIR}
-       install -m 0755 pvefw ${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
+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 $@
+
+CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
+CFLAGS+=$(shell pkg-config libnetfilter_log libnetfilter_conntrack glib-2.0 --libs --cflags)
+LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
+
+pvefw-logger: pvefw-logger.c
+       gcc -Wall -Werror pvefw-logger.c -o pvefw-logger -std=gnu99 $(CFLAGS) $(LDFLAGS)
 
+.PHONY: install
+install: pve-firewall pve-firewall.8 pve-firewall.bash-completion pve-firewall.zsh-completion pvefw-logger
+       make -C PVE install
+       install -d -m 0755 $(SBINDIR)
+       install -m 0755 pve-firewall $(SBINDIR)
+       install -m 0755 pvefw-logger $(SBINDIR)
+       install -d $(MAN8DIR)
+       install -m 0644 pve-firewall.8 $(MAN8DIR)
+       install -m 0644 -D pve-firewall.bash-completion $(BASHCOMPLDIR)/pve-firewall
+       install -m 0644 -D pve-firewall.zsh-completion $(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 *~
+       make -C PVE clean
+       rm -f *.xml.tmp *.1 *.5 *.8 *{synopsis,opts}.adoc docinfo.xml *~
+       rm -rf pvefw-logger
+
 
 .PHONY: distclean
 distclean: clean
-