-PACKAGE=api-test-server
-PKGVER=0.1
-PKGREL=1
+include defines.mk
ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
GITVERSION:=$(shell git rev-parse HEAD)
+# Binaries usable by users
+USR_BIN := \
+ proxmox-backup-client \
+ catar
+
+# Binaries usable by admins
+USR_SBIN := proxmox-backup-manager
+
+# Binaries for services:
+SERVICE_BIN := \
+ proxmox-backup-api \
+ proxmox-backup-proxy
+
+COMPILEDIR := target/release
+COMPILED_BINS := \
+ $(addprefix $(COMPILEDIR)/,$(USR_BIN) $(USR_SBIN) $(SERVICE_BIN))
+
export PROXMOX_PKG_VERSION=${PKGVER}
export PROXMOX_PKG_RELEASE=${PKGREL}
export PROXMOX_PKG_REPOID=${GITVERSION}
+export PROXMOX_JSDIR := $(JSDIR)
+
DEB=${PACKAGE}_${PKGVER}-${PKGREL}_${ARCH}.deb
DESTDIR=
rm -rf build
# build here to cache results
cargo build --release
- make -C www
- rsync -a debian Cargo.lock Cargo.toml src www target build
+ $(MAKE) -C www
+ rsync -a debian Cargo.toml src www etc target build
cd build; dpkg-buildpackage -b -us -uc
distclean: clean
clean:
- make -C www clean
+ $(MAKE) -C www clean
cargo clean
rm -rf *.deb *.buildinfo *.changes build
find . -name '*~' -exec rm {} ';'
.PHONY: dinstall
dinstall: ${DEB}
dpkg -i ${DEB}
+
+.PHONY: build-release
+build-release:
+ cargo build --release
+
+$(COMPILED_BINS): build-release
+
+install: $(COMPILED_BINS)
+ install -dm755 $(DESTDIR)$(BINDIR)
+ $(foreach i,$(USR_BIN), \
+ install -m755 $(COMPILEDIR)/$(i) $(DESTDIR)$(BINDIR)/ ;)
+ install -dm755 $(DESTDIR)$(SBINDIR)
+ $(foreach i,$(USR_SBIN), \
+ install -m755 $(COMPILEDIR)/$(i) $(DESTDIR)$(SBINDIR)/ ;)
+ install -dm755 $(DESTDIR)$(LIBDIR)/proxmox-backup
+ $(foreach i,$(SERVICE_BIN), \
+ install -m755 $(COMPILEDIR)/$(i) $(DESTDIR)$(LIBDIR)/proxmox-backup/ ;)
+ $(MAKE) -C www install