]> git.proxmox.com Git - pmg-log-tracker.git/blobdiff - Makefile
buildsys: use only one parenthesis style
[pmg-log-tracker.git] / Makefile
index 96ec3de22cf973e864cba04c9fe42f54680cc46c..199ac5a5674c52a28df0417345047989a3e9f108 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,16 +1,65 @@
-LIBS=$(shell pkg-config --libs glib-2.0) -lz
-CFLAGS=$(shell pkg-config --cflags glib-2.0) -O2 -Wall
+include /usr/share/dpkg/pkg-info.mk
+include /usr/share/dpkg/architecture.mk
 
-all: pmg-log-tracker
+PACKAGE=pmg-log-tracker
 
-pmg-log-tracker: pmg-log-tracker.c
-       gcc $< -o $@ ${CFLAGS} ${LIBS}
+GITVERSION:=$(shell git rev-parse HEAD)
 
+DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_BUILD_ARCH).deb
+DSC=rust-$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
+
+ifeq ($(BUILD_MODE), release)
+CARGO_BUILD_ARGS += --release
+COMPILEDIR := target/release
+else
+COMPILEDIR := target/debug
+endif
+
+all: cargo-build $(SUBDIRS)
+
+.PHONY: cargo-build
+cargo-build:
+       cargo build $(CARGO_BUILD_ARGS)
+
+.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
+
+.PHONY: deb
+deb: $(DEB)
+$(DEB): build
+       cd build; dpkg-buildpackage -b -us -uc --no-pre-clean --build-profiles=nodoc
+       lintian $(DEB)
+
+.PHONY: dsc
+dsc: $(DSC)
+$(DSC): build
+       cd build; dpkg-buildpackage -S -us -uc -d -nc
+       lintian $(DSC)
+
+.PHONY: dinstall
+dinstall: $(DEB)
+       dpkg -i $(DEB)
+
+.PHONY: upload
+upload: $(DEB) $(DBG_DEB)
+       tar cf - $(DEB) $(DBG_DEB)| ssh -X repoman@repo.proxmox.com -- upload --product pmg --dist bullseye --arch $(DEB_BUILD_ARCH)
 
 .PHONY: distclean
 distclean: clean
 
 .PHONY: clean
 clean:
-       rm pmg-log-tracker
+       rm -rf *.deb $(PACKAGE)-* *.buildinfo *.changes *.dsc rust-$(PACKAGE)_*.tar.?z build/
        find . -name '*~' -exec rm {} ';'