]> git.proxmox.com Git - pve-container.git/blobdiff - src/Makefile
use Syscall module instead of raw syscall numbers
[pve-container.git] / src / Makefile
index 49f0613d1022901019f2d35b6ffb9860a35cd67f..19931e5f77e0ffc1dd932dd729fc195080cb9d72 100644 (file)
@@ -2,6 +2,7 @@ PACKAGE=pve-container
 
 PREFIX=${DESTDIR}/usr
 BINDIR=${PREFIX}/bin
+LIBDIR=${PREFIX}/lib
 SBINDIR=${PREFIX}/sbin
 MANDIR=${PREFIX}/share/man
 DOCDIR=${PREFIX}/share/doc/${PACKAGE}
@@ -9,58 +10,53 @@ LXC_SCRIPT_DIR=${PREFIX}/share/lxc
 LXC_TMPL_DIR=${LXC_SCRIPT_DIR}/templates
 LXC_HOOK_DIR=${LXC_SCRIPT_DIR}/hooks
 LXC_COMMON_CONFIG_DIR=${LXC_SCRIPT_DIR}/config/common.conf.d
+SERVICEDIR=$(LIBDIR)/systemd/system
 PODDIR=${DOCDIR}/pod
 MAN1DIR=${MANDIR}/man1/
 MAN5DIR=${MANDIR}/man5/
+BASHCOMPLDIR=${PREFIX}/share/bash-completion/completions/
 export PERLDIR=${PREFIX}/share/perl5
 
-all:
-
-%.1.gz: %.1.pod
-       rm -f $@
-       cat $<|pod2man -n $* -s 1 -r ${VERSION} -c "Proxmox Documentation"|gzip -c9 >$@
-
-%.5.gz: %.5.pod
-       rm -f $@
-       cat $<|pod2man -n $* -s 5 -r ${VERSION} -c "Proxmox Documentation"|gzip -c9 >$@
+# this require package pve-doc-generator
+export NOVIEW=1
+include /usr/share/pve-doc-generator/pve-doc-generator.mk
 
-pct.1.pod: pct
-       perl -I. -T ./pct printmanpod >$@
-
-pct.conf.5.pod: gen-pct-conf-pod.pl PVE/LXC.pm
-       perl -I. ./gen-pct-conf-pod.pl >$@
-
-lxc-pve-prestart-hook.1.pod: lxc-pve-prestart-hook
-       perl -I. -T ./lxc-pve-prestart-hook printmanpod >$@
+all:
 
-lxc-pve-mount-hook.1.pod: lxc-pve-mount-hook
-       perl -I. -T ./lxc-pve-mount-hook printmanpod >$@
+pct.bash-completion:
+       PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::pct; PVE::CLI::pct->generate_bash_completions();" >$@.tmp
+       mv $@.tmp $@
 
-lxc-pve-poststop-hook.1.pod: lxc-pve-poststop-hook
-       perl -I. -T ./lxc-pve-poststop-hook printmanpod >$@
+.PHONY: check
+check: test
+       make -C test
 
 .PHONY: install
-install: pct lxc-pve.conf lxc-pve-prestart-hook lxc-pve-mount-hook lxc-pve-poststop-hook lxcnetaddbr lxc-pve-prestart-hook.1.pod lxc-pve-prestart-hook.1.gz lxc-pve-mount-hook.1.pod lxc-pve-mount-hook.1.gz lxc-pve-poststop-hook.1.pod lxc-pve-poststop-hook.1.gz pct.1.pod pct.1.gz pct.conf.5.pod pct.conf.5.gz pve-update-lxc-config
-       perl -T -I. ./pct verifyapi
+install: pct lxc-pve.conf lxc-pve-prestart-hook lxc-pve-autodev-hook lxc-pve-poststop-hook lxcnetaddbr pct.1 pct.conf.5 pve-update-lxc-config pct.bash-completion
+       PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::pct; PVE::CLI::pct->verify_api();"
        install -d ${SBINDIR}
        install -m 0755 pct ${SBINDIR}
        install -m 0755 pve-update-lxc-config ${SBINDIR}
        install -d ${LXC_SCRIPT_DIR}
        install -m 0755 lxcnetaddbr ${LXC_SCRIPT_DIR}
+       install -m 0755 lxc-pve-reboot-trigger ${LXC_SCRIPT_DIR}
+       install -d -m0755 ${SERVICEDIR}/lxc@.service.d
+       install -m0644 pve-reboot.conf ${SERVICEDIR}/lxc@.service.d/
        install -d ${LXC_HOOK_DIR}
        install -m 0755 lxc-pve-prestart-hook ${LXC_HOOK_DIR}
-       install -m 0755 lxc-pve-mount-hook ${LXC_HOOK_DIR}
+       install -m 0755 lxc-pve-autodev-hook ${LXC_HOOK_DIR}
        install -m 0755 lxc-pve-poststop-hook ${LXC_HOOK_DIR}
        install -d ${LXC_COMMON_CONFIG_DIR}
        install -m 0644 lxc-pve.conf ${LXC_COMMON_CONFIG_DIR}/01-pve.conf
+       install -m 0644 -D pct.bash-completion ${BASHCOMPLDIR}/pct
        make -C PVE install
        install -d ${MAN1DIR}
        install -d ${MAN5DIR}
-       install -d ${PODDIR}
-       install -m 0644 pct.1.gz ${MAN1DIR}
-       install -m 0644 pct.1.pod ${PODDIR}
-       install -m 0644 pct.conf.5.pod ${PODDIR}
-       install -m 0644 pct.conf.5.gz ${MAN5DIR}
+       install -m 0644 pct.1 ${MAN1DIR}
+       gzip -9 ${MAN1DIR}/pct.1
+       install -m 0644 pct.conf.5 ${MAN5DIR}
+       gzip -9 ${MAN5DIR}/pct.conf.5
+       cd ${MAN5DIR}; ln -s pct.conf.5.gz ct.conf.5.gz
 
 .PHONY: test
 test:
@@ -69,7 +65,8 @@ test:
 .PHONY: clean
 clean:         
        make -C test clean
-       rm -rf *.1.pod *.1.gz
+       make cleanup-docgen
+       rm -rf *.1 *.5 *.tmp *.bash-completion
        find . -name '*~' -exec rm {} ';'
 
 .PHONY: distclean