]> git.proxmox.com Git - proxmox-offline-mirror.git/blame - Makefile
move .cargo/config to .cargo/config.toml
[proxmox-offline-mirror.git] / Makefile
CommitLineData
8cddc92d
FG
1include /usr/share/dpkg/pkg-info.mk
2include /usr/share/dpkg/architecture.mk
fabdaf91 3include defines.mk
8cddc92d
FG
4
5PACKAGE=proxmox-offline-mirror
6BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
8cddc92d 7
fabdaf91
FG
8SUBDIRS := docs
9
59870b7d
TL
10DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb
11HELPER_DEB=$(PACKAGE)-helper_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb
12DBG_DEB=$(PACKAGE)-dbgsym_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb
13HELPER_DBG_DEB=$(PACKAGE)-helper-dbgsym_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb
e0f1756b 14DOC_DEB=$(PACKAGE)-docs_$(DEB_VERSION_UPSTREAM_REVISION)_all.deb
8cddc92d
FG
15DSC=rust-$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
16
1859bd3d
TL
17DEBS = $(DEB) $(HELPER_DEB) $(DBG_DEB) $(HELPER_DBG_DEB) $(DOC_DEB)
18
8cddc92d
FG
19ifeq ($(BUILD_MODE), release)
20CARGO_BUILD_ARGS += --release
21COMPILEDIR := target/release
22else
23COMPILEDIR := target/debug
24endif
25
426271c0
TL
26USR_BIN := \
27 proxmox-offline-mirror \
28 proxmox-offline-mirror-helper
29
30COMPILED_BINS := \
31 $(addprefix $(COMPILEDIR)/,$(USR_BIN))
32
8cddc92d
FG
33all: cargo-build $(SUBDIRS)
34
35.PHONY: cargo-build
36cargo-build:
37 cargo build $(CARGO_BUILD_ARGS)
38
fabdaf91 39.PHONY: $(SUBDIRS)
426271c0 40$(SUBDIRS): cargo-build
fabdaf91
FG
41 $(MAKE) -C $@
42
426271c0
TL
43$(COMPILED_BINS): cargo-build
44
45install: $(COMPILED_BINS)
46 $(MAKE) -C docs install DESTDIR=../debian/proxmox-offline-mirror-docs
47 install -dm755 $(DESTDIR)$(BINDIR)
48 $(foreach i,$(USR_BIN), \
49 install -m755 $(COMPILEDIR)/$(i) $(DESTDIR)$(BINDIR)/ ;)
50
72f70df2 51update-dcontrol: #$(BUILDDIR)
8cddc92d
FG
52 debcargo package \
53 --config debian/debcargo.toml \
54 --changelog-ready \
55 --no-overlay-write-back \
426271c0 56 --directory $(BUILDDIR) \
8cddc92d
FG
57 $(PACKAGE) \
58 $(shell dpkg-parsechangelog -l debian/changelog -SVersion | sed -e 's/-.*//')
426271c0 59 cat $(BUILDDIR)/debian/control debian/control.extra > debian/control
72f70df2 60 wrap-and-sort -t -k -f debian/control
426271c0
TL
61
62.PHONY: build
63build: $(BUILDDIR)
64$(BUILDDIR):
65 rm -rf $@ $@.tmp; mkdir $@.tmp
66 cp -a src docs debian Cargo.toml Makefile defines.mk $@.tmp/
67 mv $@.tmp $@
8cddc92d
FG
68
69.PHONY: deb
70deb: $(DEB)
1859bd3d 71$(HELPER_DEB) $(DBG_DEB) $(HELPER_DBG_DEB) $(DOC_DEB): $(DEB)
ad436fab 72$(DEB): $(BUILDDIR)
8cddc92d 73 cd $(BUILDDIR); dpkg-buildpackage -b -us -uc --no-pre-clean
95c070a9 74 lintian $(DEB) $(DOC_DEB) $(HELPER_DEB)
8cddc92d
FG
75
76.PHONY: dsc
8f0abd9c
TL
77dsc:
78 rm -rf $(BUILDDIR) $(DSC)
79 $(MAKE) $(DSC)
80 lintian $(DSC)
ad436fab 81$(DSC): $(BUILDDIR)
8cddc92d 82 cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d -nc
8f0abd9c
TL
83
84sbuild: $(DSC)
85 sbuild $<
8cddc92d
FG
86
87.PHONY: dinstall
88dinstall: $(DEB)
5a813b79 89 dpkg -i $(DEB) $(DBG_DEB) $(DOC_DEB)
8cddc92d
FG
90
91.PHONY: upload
1113d148 92upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
1859bd3d 93upload: $(DEBS)
1113d148 94 tar cf - $(DEBS) | ssh -X repoman@repo.proxmox.com -- upload --product pve,pmg,pbs,pbs-client --dist $(UPLOAD_DIST) --arch $(DEB_HOST_ARCH)
8cddc92d
FG
95
96.PHONY: distclean
97distclean: clean
98
99.PHONY: clean
100clean:
101 cargo clean
8f0abd9c
TL
102 rm -f *.deb *.build *.buildinfo *.changes *.dsc rust-$(PACKAGE)*.tar*
103 rm -rf $(PACKAGE)-[0-9]*/
8cddc92d 104 find . -name '*~' -exec rm {} ';'