5 CFLAGS
+=-O2
-Werror
-Wall
-Wextra
-Wpedantic
-Wtype-limits
-Wl
,-z
,relro
-std
=gnu11
6 JSON_CFLAGS
=$(shell pkg-config
--cflags json-c
)
7 JSON_LIBS
=$(shell pkg-config
--libs json-c
)
12 SBINDIR
=${PREFIX}/sbin
14 LIBDIR
=${PREFIX}/lib
/${PACKAGE}
15 SERVICEDIR
=/lib
/systemd
/system
16 VARLIBDIR
=/var
/lib
/${PACKAGE}
17 MANDIR
=${PREFIX}/share
/man
18 DOCDIR
=${PREFIX}/share
/doc
19 MAN1DIR
=${MANDIR}/man1
/
20 MAN5DIR
=${MANDIR}/man5
/
21 MAN8DIR
=${MANDIR}/man8
/
22 BASHCOMPLDIR
=${PREFIX}/share
/bash-completion
/completions
/
23 ZSHCOMPLDIR
=${PREFIX}/share
/zsh
/vendor-completions
/
24 export PERLDIR
=${PREFIX}/share
/perl5
25 PERLINCDIR
=${PERLDIR}/asm-x86_64
27 ARCH
:=$(shell dpkg-architecture
-qDEB_BUILD_ARCH
)
28 GITVERSION
:=$(shell git rev-parse HEAD
)
30 DEB
=${PACKAGE}_
${VERSION}-${PKGREL}_
${ARCH}.deb
31 DBG_DEB
=${PACKAGE}-dbgsym_
${VERSION}-${PKGREL}_
${ARCH}.deb
33 DEBS
=${DEB} ${DBG_DEB}
35 # this requires package pve-doc-generator
37 include /usr
/share
/pve-doc-generator
/pve-doc-generator.mk
39 export SOURCE_DATE_EPOCH ?
= $(shell dpkg-parsechangelog
-STimestamp
)
48 $(CC
) $(CFLAGS
) ${JSON_CFLAGS} -o
$@
$< ${JSON_LIBS}
51 PVE_GENERATING_DOCS
=1 perl
-I.
-T
-e
"use PVE::CLI::qm; PVE::CLI::qm->generate_bash_completions();" >$@.tmp
54 qmrestore.bash-completion
:
55 PVE_GENERATING_DOCS
=1 perl
-I.
-T
-e
"use PVE::CLI::qmrestore; PVE::CLI::qmrestore->generate_bash_completions();" >$@.tmp
59 PVE_GENERATING_DOCS
=1 perl
-I.
-T
-e
"use PVE::CLI::qm; PVE::CLI::qm->generate_zsh_completions();" >$@.tmp
62 qmrestore.zsh-completion
:
63 PVE_GENERATING_DOCS
=1 perl
-I.
-T
-e
"use PVE::CLI::qmrestore; PVE::CLI::qmrestore->generate_zsh_completions();" >$@.tmp
66 PKGSOURCES
=qm qm
.1 qmrestore qmrestore
.1 qmextract qm.conf
.5 qm.bash-completion qmrestore.bash-completion \
67 qm.zsh-completion qmrestore.zsh-completion qmeventd qmeventd
.8
70 install: ${PKGSOURCES}
71 install -d
${DESTDIR}/${SBINDIR}
72 install -d
${DESTDIR}${LIBDIR}
73 install -d
${DESTDIR}${VARLIBDIR}
74 install -d
${DESTDIR}${SERVICEDIR}
75 install -d
${DESTDIR}/${MAN1DIR}
76 install -d
${DESTDIR}/${MAN5DIR}
77 install -d
${DESTDIR}/${MAN8DIR}
78 install -d
${DESTDIR}/usr
/share
/man
/man5
79 install -d
${DESTDIR}/usr
/share
/${PACKAGE}
80 install -m
0644 pve-usb.cfg
${DESTDIR}/usr
/share
/${PACKAGE}
81 install -m
0644 pve-q35.cfg
${DESTDIR}/usr
/share
/${PACKAGE}
82 install -m
0644 -D qm.bash-completion
${DESTDIR}/${BASHCOMPLDIR}/qm
83 install -m
0644 -D qmrestore.bash-completion
${DESTDIR}/${BASHCOMPLDIR}/qmrestore
84 install -m
0644 -D qm.zsh-completion
${DESTDIR}/${ZSHCOMPLDIR}/_qm
85 install -m
0644 -D qmrestore.zsh-completion
${DESTDIR}/${ZSHCOMPLDIR}/_qmrestore
86 install -m
0644 -D bootsplash.jpg
${DESTDIR}/usr
/share
/${PACKAGE}
88 install -m
0755 qm
${DESTDIR}${SBINDIR}
89 install -m
0755 qmrestore
${DESTDIR}${SBINDIR}
90 install -m
0755 qmeventd
${DESTDIR}${SBINDIR}
91 install -m
0644 qmeventd.service
${DESTDIR}${SERVICEDIR}
92 install -m
0755 pve-bridge
${DESTDIR}${VARLIBDIR}/pve-bridge
93 install -m
0755 pve-bridge-hotplug
${DESTDIR}${VARLIBDIR}/pve-bridge-hotplug
94 install -m
0755 pve-bridgedown
${DESTDIR}${VARLIBDIR}/pve-bridgedown
95 install -D
-m
0644 modules-load.conf
${DESTDIR}/etc
/modules-load.d
/qemu-server.conf
96 install -m
0755 qmextract
${DESTDIR}${LIBDIR}
97 install -m
0644 qm
.1 ${DESTDIR}/${MAN1DIR}
98 gzip
-9 -n
-f
${DESTDIR}/${MAN1DIR}/qm
.1
99 install -m
0644 qmeventd
.8 ${DESTDIR}/${MAN8DIR}
100 gzip
-9 -n
-f
${DESTDIR}/${MAN8DIR}/qmeventd
.8
101 install -m
0644 qmrestore
.1 ${DESTDIR}/${MAN1DIR}
102 gzip
-9 -n
-f
${DESTDIR}/${MAN1DIR}/qmrestore
.1
103 install -m
0644 qm.conf
.5 ${DESTDIR}/${MAN5DIR}
104 gzip
-9 -n
-f
${DESTDIR}/${MAN5DIR}/qm.conf
.5
105 cd
${DESTDIR}/${MAN5DIR}; ln
-s
-f qm.conf
.5.gz vm.conf
.5.gz
113 echo
"git clone git://git.proxmox.com/git/qemu-server.git\\ngit checkout ${GITVERSION}" > build
/debian
/SOURCE
114 cd build
; dpkg-buildpackage
-b
-us
-uc
119 PVE_GENERATING_DOCS
=1 perl
-I. .
/qm verifyapi
124 tar cf
- ${DEBS} | ssh repoman@repo.proxmox.com upload
--product pve
--dist stretch
129 rm -rf build
*.deb
*.buildinfo
*.changes qmeventd
130 find .
-name
'*~' -exec
rm {} ';'