]> git.proxmox.com Git - pve-container.git/blob - src/Makefile
clone: randomize network MAC HW address of clone
[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 MANDIR=${PREFIX}/share/man
8 DOCDIR=${PREFIX}/share/doc/${PACKAGE}
9 LXC_SCRIPT_DIR=${PREFIX}/share/lxc
10 LXC_TMPL_DIR=${LXC_SCRIPT_DIR}/templates
11 LXC_HOOK_DIR=${LXC_SCRIPT_DIR}/hooks
12 LXC_CONFIG_DIR=${LXC_SCRIPT_DIR}/config
13 LXC_COMMON_CONFIG_DIR=${LXC_CONFIG_DIR}/common.conf.d
14 SERVICEDIR=${DESTDIR}/lib/systemd/system
15 PODDIR=${DOCDIR}/pod
16 MAN1DIR=${MANDIR}/man1/
17 MAN5DIR=${MANDIR}/man5/
18 BASHCOMPLDIR=${PREFIX}/share/bash-completion/completions/
19 export PERLDIR=${PREFIX}/share/perl5
20
21 # this require package pve-doc-generator
22 export NOVIEW=1
23 include /usr/share/pve-doc-generator/pve-doc-generator.mk
24
25 all:
26
27 pct.bash-completion:
28 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::pct; PVE::CLI::pct->generate_bash_completions();" >$@.tmp
29 mv $@.tmp $@
30
31 .PHONY: check
32 check: test
33 make -C test
34
35 .PHONY: install
36 install: pct lxc-pve.conf lxc-pve-prestart-hook lxc-pve-autodev-hook lxc-pve-poststop-hook lxcnetaddbr pct.1 pct.conf.5 pct.bash-completion pve-userns.seccomp
37 PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::pct; PVE::CLI::pct->verify_api();"
38 install -d ${SBINDIR}
39 install -m 0755 pct ${SBINDIR}
40 install -d ${LXC_SCRIPT_DIR}
41 install -m 0755 lxcnetaddbr ${LXC_SCRIPT_DIR}
42 install -m 0755 pve-container-stop-wrapper ${LXC_SCRIPT_DIR}
43 install -d -m0755 ${SERVICEDIR}
44 install -m0644 pve-container@.service ${SERVICEDIR}/
45 install -m0644 'system-pve\x2dcontainer.slice' ${SERVICEDIR}/
46 install -d ${LXC_HOOK_DIR}
47 install -m 0755 lxc-pve-prestart-hook ${LXC_HOOK_DIR}
48 install -m 0755 lxc-pve-autodev-hook ${LXC_HOOK_DIR}
49 install -m 0755 lxc-pve-poststop-hook ${LXC_HOOK_DIR}
50 install -d ${LXC_CONFIG_DIR}
51 install -m 0644 pve-userns.seccomp ${LXC_CONFIG_DIR}/pve-userns.seccomp
52 install -d ${LXC_COMMON_CONFIG_DIR}
53 install -m 0644 lxc-pve.conf ${LXC_COMMON_CONFIG_DIR}/01-pve.conf
54 install -m 0644 -D pct.bash-completion ${BASHCOMPLDIR}/pct
55 make -C PVE install
56 install -d ${MAN1DIR}
57 install -d ${MAN5DIR}
58 install -m 0644 pct.1 ${MAN1DIR}
59 gzip -9 ${MAN1DIR}/pct.1
60 install -m 0644 pct.conf.5 ${MAN5DIR}
61 gzip -9 ${MAN5DIR}/pct.conf.5
62 cd ${MAN5DIR}; ln -s pct.conf.5.gz ct.conf.5.gz
63
64 # Note: for backwards compatibility only
65 # lxc@.service.d, snippet and reboot script can be removed in PVE 6.0
66 install -d -m 0755 ${SERVICEDIR}/lxc@.service.d
67 install -m 0644 pve-reboot.conf ${SERVICEDIR}/lxc@.service.d/
68 install -m 0755 lxc-pve-reboot-trigger ${LXC_SCRIPT_DIR}
69
70 pve-userns.seccomp: /usr/share/lxc/config/common.seccomp
71 cp $< $@
72 echo 'keyctl errno 38' >> $@
73
74
75 .PHONY: test
76 test:
77 make -C test test
78
79 .PHONY: clean
80 clean:
81 make -C test clean
82 make cleanup-docgen
83 rm -rf *.1 *.5 *.tmp *.bash-completion
84 find . -name '*~' -exec rm {} ';'
85
86 .PHONY: distclean
87 distclean: clean
88