]> git.proxmox.com Git - pmg-log-tracker.git/blob - Makefile
buildsys: re-add reference to GITVERSION
[pmg-log-tracker.git] / Makefile
1 include /usr/share/dpkg/pkg-info.mk
2 include /usr/share/dpkg/architecture.mk
3
4 PACKAGE=pmg-log-tracker
5
6 GITVERSION:=$(shell git rev-parse HEAD)
7
8 DEB=$(PACKAGE)_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb
9 DBG_DEB=$(PACKAGE)-dbgsym_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb
10 DSC=rust-$(PACKAGE)_$(DEB_VERSION).dsc
11
12 ifeq ($(BUILD_MODE), release)
13 CARGO_BUILD_ARGS += --release
14 COMPILEDIR := target/release
15 else
16 COMPILEDIR := target/debug
17 endif
18
19 all: cargo-build $(SUBDIRS)
20
21 .PHONY: cargo-build
22 cargo-build:
23 cargo build $(CARGO_BUILD_ARGS)
24
25 .PHONY: build
26 build:
27 rm -rf build
28 rm -rf debian/control
29 debcargo package \
30 --config debian/debcargo.toml \
31 --changelog-ready \
32 --no-overlay-write-back \
33 --directory build \
34 $(PACKAGE) \
35 $(shell dpkg-parsechangelog -l debian/changelog -SVersion | sed -e 's/-.*//')
36 rm build/Cargo.lock
37 find build/debian -name "*.hint" -delete
38 cp build/debian/control debian/control
39 echo "git clone git://git.proxmox.com/git/pmg-log-tracker.git\\ngit checkout ${GITVERSION}" > build/debian/SOURCE
40
41 .PHONY: deb
42 deb: $(DEB)
43 $(DEB) $(DBG_DEB): build
44 cd build; dpkg-buildpackage -b -us -uc --no-pre-clean --build-profiles=nodoc
45 lintian $(DEB)
46
47 .PHONY: dsc
48 dsc: $(DSC)
49 $(MAKE) $(DSC)
50 lintian $(DSC)
51
52 $(DSC): build
53 cd build; dpkg-buildpackage -S -us -uc -d -nc
54
55 .PHONY: sbuild
56 sbuild: $(DSC)
57 sbuild $(DSC)
58
59 .PHONY: dinstall
60 dinstall: $(DEB)
61 dpkg -i $(DEB)
62
63 .PHONY: upload
64 upload: $(DEB) $(DBG_DEB)
65 tar cf - $(DEB) $(DBG_DEB)| ssh -X repoman@repo.proxmox.com -- upload --product pmg --dist bullseye --arch $(DEB_BUILD_ARCH)
66
67 .PHONY: distclean
68 distclean: clean
69
70 .PHONY: clean
71 clean:
72 rm -rf *.deb $(PACKAGE)-* *.buildinfo *.changes *.dsc rust-$(PACKAGE)_*.tar.?z build/ *build
73 find . -name '*~' -exec rm {} ';'