]> git.proxmox.com Git - pve-container.git/blob - src/Makefile
fix #5160: fix move_mount regression for mount point hotplug
[pve-container.git] / src / Makefile
1 PACKAGE=pve-container
2
3 PREFIX=${DESTDIR}/usr
4 BINDIR=${PREFIX}/bin
5 LIBDIR=${PREFIX}/lib
6 SBINDIR=${PREFIX}/sbin
7 ETCDIR=${DESTDIR}/etc
8 MANDIR=${PREFIX}/share/man
9 DOCDIR=${PREFIX}/share/doc/${PACKAGE}
10 LXC_SCRIPT_DIR=${PREFIX}/share/lxc
11 LXC_TMPL_DIR=${LXC_SCRIPT_DIR}/templates
12 LXC_HOOK_DIR=${LXC_SCRIPT_DIR}/hooks
13 LXC_CONFIG_DIR=${LXC_SCRIPT_DIR}/config
14 LXC_COMMON_CONFIG_DIR=${LXC_CONFIG_DIR}/common.conf.d
15 LXC_USERNS_CONFIG_DIR=${LXC_CONFIG_DIR}/userns.conf.d
16 SERVICEDIR=${DESTDIR}/lib/systemd/system
17 APPARMORDDIR=${ETCDIR}/apparmor.d
18 PODDIR=${DOCDIR}/pod
19 MAN1DIR=${MANDIR}/man1/
20 MAN5DIR=${MANDIR}/man5/
21 BASHCOMPLDIR=${PREFIX}/share/bash-completion/completions/
22 ZSHCOMPLDIR=${PREFIX}/share/zsh/vendor-completions/
23 export PERLDIR=${PREFIX}/share/perl5
24
25 # this require package pve-doc-generator
26 export NOVIEW=1
27 include /usr/share/pve-doc-generator/pve-doc-generator.mk
28
29 all:
30
31 pct.bash-completion:
32 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::pct; PVE::CLI::pct->generate_bash_completions();" >$@.tmp
33 mv $@.tmp $@
34
35 pct.zsh-completion:
36 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::pct; PVE::CLI::pct->generate_zsh_completions();" >$@.tmp
37 mv $@.tmp $@
38
39 .PHONY: check
40 check: test
41 make -C test
42
43 .PHONY: install
44 install: pct lxc-pve.conf pct.1 pct.conf.5 pct.bash-completion pct.zsh-completion \
45 pve-userns.seccomp pve-container@.service pve-container-debug@.service \
46 lxc-pve-prestart-hook lxc-pve-autodev-hook lxc-pve-poststop-hook lxcnetaddbr
47 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::pct; PVE::CLI::pct->verify_api();"
48 install -d ${SBINDIR}
49 install -m 0755 pct ${SBINDIR}
50 install -d ${LXC_SCRIPT_DIR}
51 install -m 0755 lxcnetaddbr ${LXC_SCRIPT_DIR}
52 install -m 0755 pve-container-stop-wrapper ${LXC_SCRIPT_DIR}
53 install -d -m0755 ${SERVICEDIR}
54 install -m0644 pve-container@.service ${SERVICEDIR}/
55 install -m0644 pve-container-debug@.service ${SERVICEDIR}/
56 install -m0644 'system-pve\x2dcontainer.slice' ${SERVICEDIR}/
57 install -d ${LXC_HOOK_DIR}
58 install -m 0755 lxc-pve-prestart-hook ${LXC_HOOK_DIR}
59 install -m 0755 lxc-pve-autodev-hook ${LXC_HOOK_DIR}
60 install -m 0755 lxc-pve-poststop-hook ${LXC_HOOK_DIR}
61 install -d ${LXC_CONFIG_DIR}
62 install -m 0644 pve-userns.seccomp ${LXC_CONFIG_DIR}/pve-userns.seccomp
63 install -d ${LXC_COMMON_CONFIG_DIR}
64 install -m 0644 lxc-pve.conf ${LXC_COMMON_CONFIG_DIR}/01-pve.conf
65 install -d ${LXC_USERNS_CONFIG_DIR}
66 install -m 0644 lxc-pve-userns.conf ${LXC_USERNS_CONFIG_DIR}/01-pve.conf
67 install -m 0644 -D pct.bash-completion ${BASHCOMPLDIR}/pct
68 install -m 0644 -D pct.zsh-completion ${ZSHCOMPLDIR}/_pct
69 make -C PVE install
70 install -d ${MAN1DIR}
71 install -d ${MAN5DIR}
72 install -m 0644 pct.1 ${MAN1DIR}
73 gzip -9 ${MAN1DIR}/pct.1
74 install -m 0644 pct.conf.5 ${MAN5DIR}
75 gzip -9 ${MAN5DIR}/pct.conf.5
76 cd ${MAN5DIR}; ln -s pct.conf.5.gz ct.conf.5.gz
77 install -D -m 0644 10-pve-ct-inotify-limits.conf ${LIBDIR}/sysctl.d/10-pve-ct-inotify-limits.conf
78 install -D -m 0644 pve-container-mounthotplug ${APPARMORDDIR}/pve-container-mounthotplug
79
80 pve-userns.seccomp: /usr/share/lxc/config/common.seccomp
81 cp $< $@
82 echo 'keyctl errno 38' >> $@
83
84 .PHONY: test
85 test:
86 make -C test test
87
88 .PHONY: clean
89 clean:
90 make -C test clean
91 make cleanup-docgen
92 rm -f *.1 *.5 *.tmp *.bash-completion *.bash-completion
93
94 .PHONY: distclean
95 distclean: clean
96