]> git.proxmox.com Git - pve-qemu.git/blob - Makefile
buildsys: use shorter variable name $@ in $(BUILDIR) target
[pve-qemu.git] / Makefile
1 include /usr/share/dpkg/default.mk
2
3 PACKAGE = pve-qemu-kvm
4
5 SRCDIR := qemu
6 BUILDDIR ?= ${PACKAGE}-${DEB_VERSION_UPSTREAM}
7 ORIG_SRC_TAR=$(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
8
9 GITVERSION := $(shell git rev-parse HEAD)
10
11 DSC=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
12 DEB = ${PACKAGE}_${DEB_VERSION_UPSTREAM_REVISION}_${DEB_BUILD_ARCH}.deb
13 DEB_DBG = ${PACKAGE}-dbg_${DEB_VERSION_UPSTREAM_REVISION}_${DEB_BUILD_ARCH}.deb
14 DEBS = $(DEB) $(DEB_DBG)
15
16 all: $(DEBS)
17
18 .PHONY: submodule
19 submodule:
20 test -f "${SRCDIR}/configure" || git submodule update --init --recursive
21
22 $(BUILDDIR): keycodemapdb | submodule
23 # check if qemu/ was used for a build
24 # if so, please run 'make distclean' in the submodule and try again
25 test ! -f $(SRCDIR)/build/config.status
26 rm -rf $@.tmp $@
27 cp -a $(SRCDIR) $@.tmp
28 cp -a debian $@.tmp/debian
29 rm -rf $@.tmp/ui/keycodemapdb
30 cp -a keycodemapdb $@.tmp/ui/
31 echo "git clone git://git.proxmox.com/git/pve-qemu.git\\ngit checkout $(GITVERSION)" > $@.tmp/debian/SOURCE
32 mv $@.tmp $@
33
34 .PHONY: deb kvm
35 deb kvm: $(DEBS)
36 $(DEB_DBG): $(DEB)
37 $(DEB): $(BUILDDIR)
38 cd $(BUILDDIR); dpkg-buildpackage -b -us -uc -j
39 lintian $(DEBS)
40
41 sbuild: $(DSC)
42 sbuild $(DSC)
43
44 $(ORIG_SRC_TAR): $(BUILDDIR)
45 tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
46
47 .PHONY: dsc
48 dsc:
49 rm -rf *.dsc $(BUILDDIR)
50 $(MAKE) $(DSC)
51 lintian $(DSC)
52
53 $(DSC): $(ORIG_SRC_TAR) $(BUILDDIR)
54 cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
55
56 .PHONY: update
57 update:
58 cd $(SRCDIR) && git submodule deinit ui/keycodemapdb || true
59 rm -rf $(SRCDIR)/ui/keycodemapdb
60 mkdir $(SRCDIR)/ui/keycodemapdb
61 cd $(SRCDIR) && git submodule update --init ui/keycodemapdb
62 rm -rf keycodemapdb
63 mkdir keycodemapdb
64 cp -R $(SRCDIR)/ui/keycodemapdb/* keycodemapdb/
65 git add keycodemapdb
66
67 .PHONY: upload
68 upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
69 upload: $(DEBS)
70 tar cf - ${DEBS} | ssh repoman@repo.proxmox.com upload --product pve --dist $(UPLOAD_DIST)
71
72 .PHONY: distclean clean
73 distclean: clean
74 clean:
75 rm -rf $(PACKAGE)-[0-9]*/ $(PACKAGE)*.tar* *.deb *.dsc *.build *.buildinfo *.changes
76
77 .PHONY: dinstall
78 dinstall: $(DEBS)
79 dpkg -i $(DEBS)