mirror of
https://git.proxmox.com/git/proxmox-perl-rs
synced 2025-05-28 00:42:58 +00:00
92 lines
2.5 KiB
Makefile
92 lines
2.5 KiB
Makefile
include /usr/share/dpkg/pkg-info.mk
|
|
include /usr/share/dpkg/default.mk
|
|
|
|
PACKAGE=libpve-rs-perl
|
|
export PERLMOD_PRODUCT=PVE
|
|
|
|
ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
|
|
export GITVERSION:=$(shell git rev-parse HEAD)
|
|
|
|
PERL_INSTALLVENDORARCH != perl -MConfig -e 'print $$Config{installvendorarch};'
|
|
PERL_INSTALLVENDORLIB != perl -MConfig -e 'print $$Config{installvendorlib};'
|
|
|
|
MAIN_DEB=${PACKAGE}_${DEB_VERSION}_${ARCH}.deb
|
|
DBGSYM_DEB=${PACKAGE}-dbgsym_${DEB_VERSION}_${ARCH}.deb
|
|
DEBS=$(MAIN_DEB) $(DBGSYM_DEB)
|
|
DSC=${PACKAGE}_${DEB_VERSION_UPSTREAM_REVISION}.dsc
|
|
|
|
DESTDIR=
|
|
|
|
PM_DIR := PVE
|
|
|
|
PERLMOD_GENPACKAGE := /usr/lib/perlmod/genpackage.pl \
|
|
--lib=pve_rs \
|
|
--lib-tag=proxmox \
|
|
--lib-package=Proxmox::Lib::PVE \
|
|
--lib-prefix=PVE
|
|
|
|
PERLMOD_PACKAGES := \
|
|
PVE::RS::APT::Repositories \
|
|
PVE::RS::OpenId \
|
|
PVE::RS::ResourceScheduling::Static \
|
|
PVE::RS::TFA
|
|
|
|
ifeq ($(BUILD_MODE), release)
|
|
CARGO_BUILD_ARGS += --release
|
|
TARGET_DIR=release
|
|
else
|
|
TARGET_DIR=debug
|
|
endif
|
|
|
|
all: PVE
|
|
ifneq ($(BUILD_MODE), skip)
|
|
cargo build $(CARGO_BUILD_ARGS)
|
|
mkdir -p test/Proxmox/Lib
|
|
sed -r -e \
|
|
's@^sub libdirs.*$$@sub libdirs { return ("../target/$(TARGET_DIR)", "../../target/$(TARGET_DIR)"); }@' \
|
|
Proxmox/Lib/PVE.pm >test/Proxmox/Lib/PVE.pm
|
|
endif
|
|
|
|
PVE: Proxmox/Lib/PVE.pm
|
|
Proxmox/Lib/PVE.pm:
|
|
$(PERLMOD_GENPACKAGE) $(PERLMOD_PACKAGES)
|
|
|
|
check: all
|
|
$(MAKE) -C test test
|
|
|
|
.PHONY: install
|
|
install: ../target/release/libpve_rs.so Proxmox/Lib/PVE.pm PVE
|
|
install -d -m755 $(DESTDIR)$(PERL_INSTALLVENDORARCH)/auto
|
|
install -m644 ../target/release/libpve_rs.so $(DESTDIR)$(PERL_INSTALLVENDORARCH)/auto/libpve_rs.so
|
|
install -d -m755 $(DESTDIR)$(PERL_INSTALLVENDORLIB)
|
|
install -d -m755 $(DESTDIR)$(PERL_INSTALLVENDORLIB)/Proxmox/Lib
|
|
install -m644 Proxmox/Lib/PVE.pm $(DESTDIR)$(PERL_INSTALLVENDORLIB)/Proxmox/Lib/PVE.pm
|
|
find $(PM_DIR) \! -type d -print -exec install -Dm644 '{}' $(DESTDIR)$(PERL_INSTALLVENDORLIB)'/{}' ';'
|
|
|
|
distclean: clean
|
|
|
|
clean:
|
|
cargo clean
|
|
rm -rf *.deb *.dsc *.tar.gz *.buildinfo *.changes Cargo.lock
|
|
find . -name '*~' -exec rm {} ';'
|
|
|
|
.PHONY: dinstall
|
|
dinstall: ${DEBS}
|
|
dpkg -i ${DEBS}
|
|
|
|
.PHONY: upload
|
|
upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
|
|
upload: ${DEBS}
|
|
# check if working directory is clean
|
|
git diff --exit-code --stat && git diff --exit-code --stat --staged
|
|
tar cf - ${DEBS} | ssh -X repoman@repo.proxmox.com upload --product pve --dist $(DEB_DISTRIBUTION)
|
|
|
|
.PHONY: dsc
|
|
dsc: ${DSC}
|
|
${DSC}: ${BUILDDIR}
|
|
cd ${BUILDDIR}; dpkg-buildpackage -S -us -uc -d
|
|
lintian ${DSC}
|
|
|
|
sbuild: $(DSC)
|
|
sbuild $(DSC)
|