mirror of
https://git.proxmox.com/git/proxmox-perl-rs
synced 2025-07-26 22:42:21 +00:00
buildsys: generate Proxmox::Lib within the product Makefiles
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This commit is contained in:
parent
807651bc7b
commit
6b2814d612
10
Makefile
10
Makefile
@ -35,8 +35,6 @@ pve pmg:
|
|||||||
|
|
||||||
.PHONY: gen
|
.PHONY: gen
|
||||||
gen:
|
gen:
|
||||||
$(call package_template,PMG,pmg_rs)
|
|
||||||
$(call package_template,PVE,pve_rs)
|
|
||||||
perl ./scripts/genpackage.pl Common \
|
perl ./scripts/genpackage.pl Common \
|
||||||
Proxmox::RS::APT::Repositories \
|
Proxmox::RS::APT::Repositories \
|
||||||
Proxmox::RS::CalendarEvent \
|
Proxmox::RS::CalendarEvent \
|
||||||
@ -64,13 +62,13 @@ build:
|
|||||||
cp -a ./Proxmox ./build
|
cp -a ./Proxmox ./build
|
||||||
cp defines.mk ./build
|
cp defines.mk ./build
|
||||||
$(MAKE) BUILD_MODE=release -C build -f ../Makefile gen
|
$(MAKE) BUILD_MODE=release -C build -f ../Makefile gen
|
||||||
mkdir -p ./build/pve-rs/Proxmox/Lib
|
|
||||||
mv ./build/Proxmox/Lib/PVE.pm ./build/pve-rs/Proxmox/Lib/PVE.pm
|
|
||||||
mkdir -p ./build/pmg-rs/Proxmox/Lib
|
|
||||||
mv ./build/Proxmox/Lib/PMG.pm ./build/pmg-rs/Proxmox/Lib/PMG.pm
|
|
||||||
mv ./build/PVE ./build/pve-rs
|
mv ./build/PVE ./build/pve-rs
|
||||||
mv ./build/PMG ./build/pmg-rs
|
mv ./build/PMG ./build/pmg-rs
|
||||||
mv ./build/Proxmox ./build/common/pkg
|
mv ./build/Proxmox ./build/common/pkg
|
||||||
|
# The template.pm is required by the products to produce their Proxmox::Lib
|
||||||
|
mkdir ./build/Proxmox
|
||||||
|
mkdir ./build/Proxmox/Lib
|
||||||
|
cp ./Proxmox/Lib/template.pm ./build/Proxmox/Lib
|
||||||
# So the common packages end up in ./build, rather than ./build/common
|
# So the common packages end up in ./build, rather than ./build/common
|
||||||
mv ./build/common/pkg ./build/common-pkg
|
mv ./build/common/pkg ./build/common-pkg
|
||||||
|
|
||||||
|
@ -3,6 +3,6 @@ define package_template
|
|||||||
-e 's/\{\{PRODUCT\}\}/$(1)/g;' \
|
-e 's/\{\{PRODUCT\}\}/$(1)/g;' \
|
||||||
-e 's/\{\{LIBRARY\}\}/$(2)/g;' \
|
-e 's/\{\{LIBRARY\}\}/$(2)/g;' \
|
||||||
-e 's|\{\{DEBUG_LIBPATH\}\}|$(DEBUG_LIBPATH)|g;' \
|
-e 's|\{\{DEBUG_LIBPATH\}\}|$(DEBUG_LIBPATH)|g;' \
|
||||||
Proxmox/Lib/template.pm \
|
$(3)Proxmox/Lib/template.pm \
|
||||||
>Proxmox/Lib/$(1).pm
|
>Proxmox/Lib/$(1).pm
|
||||||
endef
|
endef
|
||||||
|
@ -21,11 +21,15 @@ ifeq ($(BUILD_MODE), release)
|
|||||||
CARGO_BUILD_ARGS += --release
|
CARGO_BUILD_ARGS += --release
|
||||||
endif
|
endif
|
||||||
|
|
||||||
all:
|
all: Proxmox/Lib/PMG.pm
|
||||||
ifneq ($(BUILD_MODE), skip)
|
ifneq ($(BUILD_MODE), skip)
|
||||||
cargo build $(CARGO_BUILD_ARGS)
|
cargo build $(CARGO_BUILD_ARGS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
Proxmox/Lib/PMG.pm: ../Proxmox/Lib/template.pm
|
||||||
|
mkdir -p Proxmox/Lib
|
||||||
|
$(call package_template,PMG,pmg_rs,../)
|
||||||
|
|
||||||
# always re-create this dir
|
# always re-create this dir
|
||||||
# but also copy the local target/ and PMG/ dirs as a build-cache
|
# but also copy the local target/ and PMG/ dirs as a build-cache
|
||||||
.PHONY: build
|
.PHONY: build
|
||||||
@ -35,7 +39,7 @@ build:
|
|||||||
rsync -a debian Makefile Cargo.toml Cargo.lock src target PMG build/
|
rsync -a debian Makefile Cargo.toml Cargo.lock src target PMG build/
|
||||||
|
|
||||||
.PHONY: install
|
.PHONY: install
|
||||||
install: target/release/libpmg_rs.so
|
install: target/release/libpmg_rs.so Proxmox/Lib/PMG.pm
|
||||||
install -d -m755 $(DESTDIR)$(PERL_INSTALLVENDORARCH)/auto
|
install -d -m755 $(DESTDIR)$(PERL_INSTALLVENDORARCH)/auto
|
||||||
install -m644 target/release/libpmg_rs.so $(DESTDIR)$(PERL_INSTALLVENDORARCH)/auto/libpmg_rs.so
|
install -m644 target/release/libpmg_rs.so $(DESTDIR)$(PERL_INSTALLVENDORARCH)/auto/libpmg_rs.so
|
||||||
install -d -m755 $(DESTDIR)$(PERL_INSTALLVENDORLIB)
|
install -d -m755 $(DESTDIR)$(PERL_INSTALLVENDORLIB)
|
||||||
|
@ -22,11 +22,15 @@ ifeq ($(BUILD_MODE), release)
|
|||||||
CARGO_BUILD_ARGS += --release
|
CARGO_BUILD_ARGS += --release
|
||||||
endif
|
endif
|
||||||
|
|
||||||
all:
|
all: Proxmox/Lib/PVE.pm
|
||||||
ifneq ($(BUILD_MODE), skip)
|
ifneq ($(BUILD_MODE), skip)
|
||||||
cargo build $(CARGO_BUILD_ARGS)
|
cargo build $(CARGO_BUILD_ARGS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
Proxmox/Lib/PVE.pm: ../Proxmox/Lib/template.pm
|
||||||
|
mkdir -p Proxmox/Lib
|
||||||
|
$(call package_template,PVE,pve_rs,../)
|
||||||
|
|
||||||
# always re-create this dir
|
# always re-create this dir
|
||||||
# but also copy the local target/ and PVE/ dirs as a build-cache
|
# but also copy the local target/ and PVE/ dirs as a build-cache
|
||||||
.PHONY: build
|
.PHONY: build
|
||||||
@ -36,7 +40,7 @@ build:
|
|||||||
rsync -a debian Makefile Cargo.toml Cargo.lock src target PVE build/
|
rsync -a debian Makefile Cargo.toml Cargo.lock src target PVE build/
|
||||||
|
|
||||||
.PHONY: install
|
.PHONY: install
|
||||||
install: target/release/libpve_rs.so
|
install: target/release/libpve_rs.so Proxmox/Lib/PVE.pm
|
||||||
install -d -m755 $(DESTDIR)$(PERL_INSTALLVENDORARCH)/auto
|
install -d -m755 $(DESTDIR)$(PERL_INSTALLVENDORARCH)/auto
|
||||||
install -m644 target/release/libpve_rs.so $(DESTDIR)$(PERL_INSTALLVENDORARCH)/auto/libpve_rs.so
|
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)
|
||||||
|
Loading…
Reference in New Issue
Block a user