2021-11-09 08:56:38 +01:00
i n c l u d e / u s r / s h a r e / d p k g / d e f a u l t . m k
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)
DESTDIR =
2022-03-21 14:08:07 +01:00
PM_DIR := PVE
2021-11-09 08:56:38 +01:00
2023-05-09 11:29:05 +02:00
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
2021-11-09 08:56:38 +01:00
i f e q ( $( BUILD_MODE ) , r e l e a s e )
CARGO_BUILD_ARGS += --release
2022-11-15 13:35:23 +01:00
TARGET_DIR = release
e l s e
TARGET_DIR = debug
2021-11-09 08:56:38 +01:00
e n d i f
2023-05-09 11:29:05 +02:00
all : PVE
2021-11-09 08:56:38 +01:00
i f n e q ( $( BUILD_MODE ) , s k i p )
cargo build $( CARGO_BUILD_ARGS)
2022-11-15 13:35:23 +01:00
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
2021-11-09 08:56:38 +01:00
e n d i f
2023-05-09 11:29:05 +02:00
PVE : Proxmox /Lib /PVE .pm
Proxmox/Lib/PVE.pm :
$( PERLMOD_GENPACKAGE) $( PERLMOD_PACKAGES)
2022-11-15 13:09:27 +01:00
2022-11-15 13:35:23 +01:00
check : all
$( MAKE) -C test test
2021-11-09 08:56:38 +01:00
.PHONY : install
2023-03-21 12:54:50 +01:00
install : ../target /release /libpve_rs .so Proxmox /Lib /PVE .pm PVE
2021-11-09 08:56:38 +01:00
install -d -m755 $( DESTDIR) $( PERL_INSTALLVENDORARCH) /auto
2023-03-21 12:54:50 +01:00
install -m644 ../target/release/libpve_rs.so $( DESTDIR) $( PERL_INSTALLVENDORARCH) /auto/libpve_rs.so
2022-03-21 14:08:07 +01:00
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) '/{}' ';'
2021-11-09 08:56:38 +01:00
distclean : clean
clean :
cargo clean
2023-03-21 15:40:08 +01:00
rm -rf *.deb *.dsc *.tar.gz *.buildinfo *.changes Cargo.lock
2021-11-09 08:56:38 +01:00
find . -name '*~' -exec rm { } ';'
.PHONY : dinstall
dinstall : ${DEBS }
dpkg -i ${ DEBS }
.PHONY : upload
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 bullseye