]> git.proxmox.com Git - pmg-log-tracker.git/blobdiff - Makefile
bump version to 2.5.0
[pmg-log-tracker.git] / Makefile
index 209a2b3b4ab5198c1089fdce4d7509a5f9becf4c..f9b54bec3f7b0fccb2c1cadd53cdd33b96bd40bf 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,41 +1,71 @@
+include /usr/share/dpkg/default.mk
+
 PACKAGE=pmg-log-tracker
-PKGVER=1.0
-PKGREL=1
 
-ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
-GITVERSION:=$(shell cat .git/refs/heads/master)
+DEB=$(PACKAGE)_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb
+DBG_DEB=$(PACKAGE)-dbgsym_$(DEB_VERSION)_$(DEB_BUILD_ARCH).deb
+DSC=rust-$(PACKAGE)_$(DEB_VERSION).dsc
 
-DEB=${PACKAGE}_${PKGVER}-${PKGREL}_${ARCH}.deb
+ifeq ($(BUILD_MODE), release)
+CARGO_BUILD_ARGS += --release
+COMPILEDIR := target/release
+else
+COMPILEDIR := target/debug
+endif
 
-LIBS=$(shell pkg-config --libs glib-2.0) -lz
-CFLAGS=$(shell pkg-config --cflags glib-2.0) -O2 -Wpedantic
+all: cargo-build $(SUBDIRS)
 
-all: ${DEB}
+.PHONY: cargo-build
+cargo-build:
+       cargo build $(CARGO_BUILD_ARGS)
 
-pmg-log-tracker: pmg-log-tracker.c
-       gcc $< -o $@ ${CFLAGS} ${LIBS}
+.PHONY: build
+build:
+       rm -rf build
+       rm -rf debian/control
+       debcargo package \
+         --config debian/debcargo.toml \
+         --changelog-ready \
+         --no-overlay-write-back \
+         --directory build \
+         $(PACKAGE) \
+         $(shell dpkg-parsechangelog -l debian/changelog -SVersion | sed -e 's/-.*//')
+       rm build/Cargo.lock
+       find build/debian -name "*.hint" -delete
+       cp build/debian/control debian/control
+       echo "git clone git://git.proxmox.com/git/pmg-log-tracker.git\\ngit checkout $(shell git rev-parse HEAD)" > build/debian/SOURCE
 
 .PHONY: deb
-deb ${DEB}: pmg-log-tracker
-       rm -f *.deb
-       rm -rf build
-       install -D -m 0755 pmg-log-tracker build/usr/bin/pmg-log-tracker
-       cp -a debian build/debian
-       cd build; dpkg-buildpackage -rfakeroot -b -us -uc
-       lintian ${DEB}
+deb: $(DEB)
+$(DEB) $(DBG_DEB): build
+       cd build; dpkg-buildpackage -b -us -uc
+       lintian $(DEB)
+
+.PHONY: dsc
+dsc: $(DSC)
+       $(MAKE) $(DSC)
+       lintian $(DSC)
+
+$(DSC): build
+       cd build; dpkg-buildpackage -S -us -uc -d
+
+.PHONY: sbuild
+sbuild: $(DSC)
+       sbuild $(DSC)
 
 .PHONY: dinstall
-dinstall: ${DEB}
-       dpkg -i ${DEB}
+dinstall: $(DEB)
+       dpkg -i $(DEB)
 
 .PHONY: upload
-upload: ${DEB} ${DBG_DEB}
-       tar cf - ${DEB} ${DBG_DEB}| ssh repoman@repo.proxmox.com -- upload --product pve --dist stretch --arch ${ARCH}
+upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
+upload: $(DEB) $(DBG_DEB)
+       tar cf - $(DEB) $(DBG_DEB)| ssh -X repoman@repo.proxmox.com -- upload --product pmg --dist $(UPLOAD_DIST) --arch $(DEB_BUILD_ARCH)
 
 .PHONY: distclean
 distclean: clean
 
 .PHONY: clean
 clean:
-       rm -rf build *.deb pmg-log-tracker *.buildinfo *.changes
-       find . -name '*~' -exec rm {} ';'
+       rm -rf $(PACKAGE)-[0-9]*/ build/
+       rm -f *.deb *.buildinfo *.changes *.dsc rust-$(PACKAGE)*.tar* *build