File: Makefile

package info (click to toggle)
vzdump 1.2.6-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 148 kB
  • ctags: 91
  • sloc: perl: 1,351; makefile: 143
file content (137 lines) | stat: -rw-r--r-- 3,464 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#
# Makefile to generate DEB, RPM and TGZ for vzdump
#
# possible targets:
#
# all:          create DEB, RPM and TGZ packages
# clean:        cleanup
# deb:          create debian package
# rpm:	        create rpm package
# srpm:	        create src.rpm package
# dist:         create tgz package
# install:      install files

VERSION=1.2
PACKAGE=vzdump
PKGREL=6

#ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
#RPMARCH:=$(shell rpm --eval %_build_arch)
ARCH=all
RPMARCH=noarch

DESTDIR=
PREFIX=/usr
SBINDIR=${PREFIX}/sbin
MANDIR=${PREFIX}/share/man
PERLLIBDIR=${PREFIX}/share/perl5/PVE
DOCDIR=${PREFIX}/share/doc
MAN1DIR=${MANDIR}/man1/

DEB=${PACKAGE}_${VERSION}-${PKGREL}_${ARCH}.deb
RPM=${PACKAGE}-${VERSION}-${PKGREL}.${RPMARCH}.rpm
SRPM=${PACKAGE}-${VERSION}-${PKGREL}.src.rpm
DISTDIR=$(PACKAGE)-$(VERSION)
TGZ=${DISTDIR}.tar.gz

RPMSRCDIR=$(shell rpm --eval %_sourcedir)
RPMDIR=$(shell rpm --eval %_rpmdir)
SRPMDIR=$(shell rpm --eval %_srcrpmdir)

DISTFILES=			\
	ChangeLog 		\
	TODO			\
	Makefile  		\
	changelog.Debian  	\
	control.in  		\
	vzdump.spec.in		\
	hook-script.pl		\
	copyright  		\
	VZDump.pm 		\
	Plugin.pm 		\
	OpenVZ.pm 		\
	vzrestore		\
	vzdump

PKGSOURCE= 			\
	vzdump 			\
	vzdump.1.gz 		\
	vzrestore 		\
	vzrestore.1.gz 		\
	VZDump.pm 		\
	Plugin.pm 		\
	OpenVZ.pm		\
	control

all: 

control: control.in
	sed -e s/@@ARCH@@/${ARCH}/ -e s/@@VERSION@@/${VERSION}/ -e s/@@PKGRELEASE@@/${PKGREL}/ <$< >$@

vzdump.spec: vzdump.spec.in
	sed -e s/@@ARCH@@/${ARCH}/ -e s/@@VERSION@@/${VERSION}/ -e s/@@PKGRELEASE@@/${PKGREL}/ <$< >$@

.PHONY: install
install: ${PKGSOURCE}
	install -d ${DESTDIR}${SBINDIR}
	install -m 0755 vzdump ${DESTDIR}${SBINDIR}
	install -m 0755 vzrestore ${DESTDIR}${SBINDIR}
	install -d ${DESTDIR}${MAN1DIR}
	install -m 0644 vzdump.1.gz ${DESTDIR}${MAN1DIR}
	install -m 0644 vzrestore.1.gz ${DESTDIR}${MAN1DIR}
	install -d ${DESTDIR}${PERLLIBDIR}
	install -m 0644 VZDump.pm ${DESTDIR}${PERLLIBDIR}
	install -d ${DESTDIR}${PERLLIBDIR}/VZDump
	install -m 0644 Plugin.pm ${DESTDIR}${PERLLIBDIR}/VZDump
	install -m 0644 OpenVZ.pm ${DESTDIR}${PERLLIBDIR}/VZDump


.PHONY: deb
deb ${DEB}: ${PKGSOURCE} ${DISTFILES}
	rm -rf debian
	mkdir debian
	make DESTDIR=debian install
	install -d -m 0755 debian/DEBIAN
	install -m 0644 control debian/DEBIAN
	install -D -m 0644 copyright debian/${DOCDIR}/${PACKAGE}/copyright
	install -D -m 0644 hook-script.pl debian/${DOCDIR}/${PACKAGE}/examples/hook-script.pl
	install -m 0644 changelog.Debian debian/${DOCDIR}/${PACKAGE}/
	install -m 0644 ChangeLog debian/${DOCDIR}/${PACKAGE}/changelog
	gzip -9 debian/${DOCDIR}/${PACKAGE}/changelog.Debian
	gzip -9 debian/${DOCDIR}/${PACKAGE}/changelog
	dpkg-deb --build debian	
	mv debian.deb ${DEB}
	rm -rf debian
	lintian ${DEB}

%.1.gz: %
	rm -f $*.1.gz
	pod2man -n $* -s 1 -r ${VERSION} -c "Proxmox Documentation"  <$* |gzip -c9 >$*.1.gz

.PHONY: rpm
rpm ${RPM}: ${TGZ} ${PACKAGE}.spec
	cp ${TGZ} ${RPMSRCDIR}
	rpmbuild -bb --nodeps --clean --rmsource ${PACKAGE}.spec
	mv ${RPMDIR}/${RPMARCH}/${RPM} ${RPM} 

.PHONY: srpm
srpm ${SRPM}: ${TGZ} ${PACKAGE}.spec
	cp ${TGZ} ${RPMSRCDIR}
	rpmbuild -bs --nodeps --rmsource ${PACKAGE}.spec
	mv ${SRPMDIR}/${SRPM} ${SRPM} 


.PHONY: dist
dist: ${TGZ}

${TGZ}: ${DISTFILES}
	make clean
	rm -rf ${TGZ} ${DISTDIR}
	mkdir ${DISTDIR}
	cp ${DISTFILES} ${DISTDIR}
	tar czvf ${TGZ} ${DISTDIR}
	rm -rf ${DISTDIR} 

.PHONY: clean
clean: 	
	rm -rf *~ *.deb *.tar.gz *.rpm *.1.gz vzdump.spec control ${DISTDIR}