]> git.proxmox.com Git - pve-lxc-syscalld.git/blame - Makefile
doc
[pve-lxc-syscalld.git] / Makefile
CommitLineData
641af2dd
WB
1include /usr/share/dpkg/architecture.mk
2include /usr/share/dpkg/pkg-info.mk
3
4include defines.mk
5
6GITVERSION:=$(shell git rev-parse HEAD)
7
8SUBDIRS := etc
9
10ifeq ($(BUILD_MODE), release)
11CARGO_BUILD_ARGS += --release
12COMPILEDIR := target/release
13else
14COMPILEDIR := target/debug
15endif
16
17SERVICE_BIN := pve-lxc-syscalld
18
19COMPILED_BINS := \
20 $(addprefix $(COMPILEDIR)/,$(SERVICE_BIN))
21
439edd6e
WB
22DEB=$(PACKAGE)_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb
23DSC=rust-$(PACKAGE)_$(DEB_VERSION).dsc
641af2dd
WB
24
25all: cargo-build $(SUBDIRS)
26
27.PHONY: $(SUBDIRS)
28$(SUBDIRS):
29 $(MAKE) -C $@
30
31.PHONY: cargo-build
32cargo-build:
33 cargo build $(CARGO_BUILD_ARGS)
34
2bf7e188
WB
35.PHONY: test
36test:
3b7411da 37 cargo +nightly fmt -- --check
2bf7e188 38 cargo test
2f7071e0 39 cargo clippy
2bf7e188 40
641af2dd
WB
41$(COMPILED_BINS): cargo-build
42
43install: $(COMPILED_BINS)
44 install -dm755 $(DESTDIR)$(LIBEXECDIR)/proxmox-backup
45 $(foreach i,$(SERVICE_BIN), \
46 install -m755 $(COMPILEDIR)/$(i) $(DESTDIR)$(LIBEXECDIR)/proxmox-backup/ ;)
47
439edd6e
WB
48.PHONY: build
49build:
50 rm -rf build
51 debcargo package \
52 --config debian/debcargo.toml \
53 --changelog-ready \
54 --no-overlay-write-back \
55 --directory build \
56 pve-lxc-syscalld \
57 $(shell dpkg-parsechangelog -l debian/changelog -SVersion | sed -e 's/-.*//')
58 sed -e '1,/^$$/ ! d' build/debian/control > build/debian/control.src
59 cat build/debian/control.src build/debian/control.in > build/debian/control
60 rm build/debian/control.in build/debian/control.src
61 rm build/Cargo.lock
62 find build/debian -name "*.hint" -delete
641af2dd 63 $(foreach i,$(SUBDIRS), \
439edd6e 64 $(MAKE) -C build/$(i) clean ;)
641af2dd
WB
65
66.PHONY: deb
be1da45a
WB
67deb: $(DEB)
68$(DEB): build
439edd6e 69 cd build; dpkg-buildpackage -b -us -uc --no-pre-clean --build-profiles=nodoc
be1da45a 70 lintian $(DEB)
641af2dd
WB
71
72.PHONY: dsc
73dsc: $(DSC)
439edd6e
WB
74$(DSC): build
75 cd build; dpkg-buildpackage -S -us -uc -d -nc
641af2dd
WB
76 lintian $(DSC)
77
78clean:
79 $(foreach i,$(SUBDIRS), \
80 $(MAKE) -C $(i) clean ;)
81 cargo clean
439edd6e 82 rm -rf *.deb *.dsc *.tar.gz *.buildinfo *.changes build