]> git.proxmox.com Git - proxmox-backup.git/blob - Makefile
don't hardcode /usr/share paths
[proxmox-backup.git] / Makefile
1 include defines.mk
2
3 ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
4 GITVERSION:=$(shell git rev-parse HEAD)
5
6 # Binaries usable by users
7 USR_BIN := \
8 proxmox-backup-client \
9 catar
10
11 # Binaries usable by admins
12 USR_SBIN := proxmox-backup-manager
13
14 # Binaries for services:
15 SERVICE_BIN := \
16 proxmox-backup-api \
17 proxmox-backup-proxy
18
19 COMPILEDIR := target/release
20 COMPILED_BINS := \
21 $(addprefix $(COMPILEDIR)/,$(USR_BIN) $(USR_SBIN) $(SERVICE_BIN))
22
23 export PROXMOX_PKG_VERSION=${PKGVER}
24 export PROXMOX_PKG_RELEASE=${PKGREL}
25 export PROXMOX_PKG_REPOID=${GITVERSION}
26
27 export PROXMOX_JSDIR := $(JSDIR)
28
29 DEB=${PACKAGE}_${PKGVER}-${PKGREL}_${ARCH}.deb
30
31 DESTDIR=
32
33 all:
34 cargo build
35
36 test:
37 cargo test
38
39 .PHONY: deb
40 deb ${DEB}:
41 rm -rf build
42 # build here to cache results
43 cargo build --release
44 $(MAKE) -C www
45 rsync -a debian Cargo.toml src www etc target build
46 cd build; dpkg-buildpackage -b -us -uc
47
48
49 distclean: clean
50
51 clean:
52 $(MAKE) -C www clean
53 cargo clean
54 rm -rf *.deb *.buildinfo *.changes build
55 find . -name '*~' -exec rm {} ';'
56
57 .PHONY: dinstall
58 dinstall: ${DEB}
59 dpkg -i ${DEB}
60
61 .PHONY: build-release
62 build-release:
63 cargo build --release
64
65 $(COMPILED_BINS): build-release
66
67 install: $(COMPILED_BINS)
68 install -dm755 $(DESTDIR)$(BINDIR)
69 $(foreach i,$(USR_BIN), \
70 install -m755 $(COMPILEDIR)/$(i) $(DESTDIR)$(BINDIR)/ ;)
71 install -dm755 $(DESTDIR)$(SBINDIR)
72 $(foreach i,$(USR_SBIN), \
73 install -m755 $(COMPILEDIR)/$(i) $(DESTDIR)$(SBINDIR)/ ;)
74 install -dm755 $(DESTDIR)$(LIBDIR)/proxmox-backup
75 $(foreach i,$(SERVICE_BIN), \
76 install -m755 $(COMPILEDIR)/$(i) $(DESTDIR)$(LIBDIR)/proxmox-backup/ ;)
77 $(MAKE) -C www install