]>
Commit | Line | Data |
---|---|---|
145da0bf TL |
1 | include /usr/share/dpkg/default.mk |
2 | ||
3 | PACKAGE=proxmox-termproxy | |
4 | CRATENAME=proxmox-termproxy | |
5 | ||
6 | BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM) | |
7 | ORIG_SRC_TAR=$(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz | |
8 | ||
9 | DEB=$(PACKAGE)_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb | |
10 | DBG_DEB=$(PACKAGE)-dbgsym_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb | |
11 | DSC=$(PACKAGE)_$(DEB_VERSION).dsc | |
12 | ||
13 | CARGO ?= cargo | |
14 | ifeq ($(BUILD_MODE), release) | |
15 | CARGO_BUILD_ARGS += --release | |
16 | COMPILEDIR := target/release | |
17 | else | |
18 | COMPILEDIR := target/debug | |
19 | endif | |
20 | ||
21 | PREFIX = /usr | |
72c15d11 TL |
22 | LIBEXECDIR = $(PREFIX)/libexec |
23 | PROXMOX_LIBEXECDIR = $(LIBEXECDIR)/proxmox | |
24 | ||
145da0bf TL |
25 | TERMPROXY_BIN := $(addprefix $(COMPILEDIR)/,proxmox-termproxy) |
26 | ||
27 | all: | |
28 | ||
29 | install: $(TERMPROXY_BIN) | |
72c15d11 TL |
30 | install -dm755 $(DESTDIR)$(PROXMOX_LIBEXECDIR) |
31 | install -m755 $(TERMPROXY_BIN) $(DESTDIR)$(PROXMOX_LIBEXECDIR)/ | |
145da0bf TL |
32 | |
33 | $(TERMPROXY_BIN): .do-cargo-build | |
34 | .do-cargo-build: | |
35 | $(CARGO) build $(CARGO_BUILD_ARGS) | |
36 | touch .do-cargo-build | |
37 | ||
38 | ||
39 | .PHONY: cargo-build | |
40 | cargo-build: .do-cargo-build | |
41 | ||
42 | $(BUILDDIR): | |
43 | rm -rf $@ $@.tmp | |
44 | mkdir $@.tmp | |
45 | cp -a debian/ src/ Makefile Cargo.toml $@.tmp | |
46 | echo "git clone git://git.proxmox.com/git/pve-xtermjs.git\\ngit checkout $$(git rev-parse HEAD)" \ | |
47 | > $@.tmp/debian/SOURCE | |
48 | mv $@.tmp $@ | |
49 | ||
50 | ||
51 | $(ORIG_SRC_TAR): $(BUILDDIR) | |
52 | tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR) | |
53 | ||
54 | .PHONY: deb | |
55 | deb: $(DEB) | |
56 | $(DBG_DEB): $(DEB) | |
57 | $(DEB): $(BUILDDIR) | |
58 | cd $(BUILDDIR); dpkg-buildpackage -b -uc -us | |
59 | lintian $(DEB) | |
60 | @echo $(DEB) | |
61 | ||
62 | .PHONY: dsc | |
63 | dsc: | |
64 | rm -rf $(DSC) $(BUILDDIR) | |
65 | $(MAKE) $(DSC) | |
66 | lintian $(DSC) | |
67 | ||
68 | $(DSC): $(BUILDDIR) $(ORIG_SRC_TAR) | |
69 | cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d | |
70 | ||
71 | sbuild: $(DSC) | |
72 | sbuild $(DSC) | |
73 | ||
74 | .PHONY: upload | |
75 | upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION) | |
76 | upload: $(DEB) $(DBG_DEB) | |
77 | tar cf - $(DEB) $(DBG_DEB) |ssh -X repoman@repo.proxmox.com -- upload --product pmg,pve,pbs --dist $(UPLOAD_DIST) --arch $(DEB_HOST_ARCH) | |
78 | ||
79 | .PHONY: clean distclean | |
80 | distclean: clean | |
81 | clean: | |
82 | $(CARGO) clean | |
83 | rm -rf $(PACKAGE)-[0-9]*/ build/ | |
84 | rm -f *.deb *.changes *.dsc *.tar.* *.buildinfo *.build .do-cargo-build | |
85 | ||
86 | .PHONY: dinstall | |
87 | dinstall: deb | |
88 | dpkg -i $(DEB) |