mirror of
https://github.com/Telecominfraproject/OpenNetworkLinux.git
synced 2025-12-27 18:25:00 +00:00
46 lines
1.8 KiB
Makefile
46 lines
1.8 KiB
Makefile
############################################################
|
|
#
|
|
# ONL Loader Initrd Build Template.
|
|
#
|
|
############################################################
|
|
ifndef ARCH
|
|
$(error $$ARCH must be set)
|
|
endif
|
|
|
|
ifndef PLATFORMS
|
|
# Include all available platforms in the current architecture.
|
|
PLATFORMS := $(shell onlpm --list-platforms --arch $(ARCH))
|
|
endif
|
|
|
|
PLATFORM_PACKAGES := $(foreach p,$(PLATFORMS),onl-platform-config-$(p):$(ARCH))
|
|
VENDOR_PACKAGES := $(foreach p,$(PLATFORMS),$(shell python $(ONL)/tools/onlplatform.py $(p) $(ARCH) vendor))
|
|
|
|
ROOT := root
|
|
TARGET := onl-loader-initrd-$(ARCH).cpio.gz
|
|
.PHONY: $(TARGET)
|
|
|
|
$(TARGET):
|
|
$(ONLPM) --copy-file onl-buildroot-initrd:$(ARCH) onl-buildroot-initrd-$(ARCH).cpio.gz .
|
|
sudo rm -rf $(ROOT) && mkdir $(ROOT)
|
|
$(ONLPM) --sudo --force --extract-dir onl-loader-initrd-files:all $(ROOT)
|
|
$(ONLPM) --sudo $(foreach p,$(PLATFORM_PACKAGES),--extract-dir $(p) $(ROOT))
|
|
$(MAKE) __vendor_config_data
|
|
$(ONLPM) --sudo --force --extract-dir onl-vendor-config-onl:all $(ROOT)
|
|
$(ONL)/tools/sjson.py --kj version $(ONL)/make/versions/version-onl.json --kl platforms $(PLATFORMS) --kv arch $(ARCH) --out manifest.json
|
|
sudo mkdir -p $(ROOT)/etc/onl/loader && sudo cp manifest.json $(ROOT)/etc/onl/loader
|
|
sudo $(ONL)/tools/makedevs -d $(ROOT)/etc/rootperms $(abspath $(ROOT))
|
|
sudo $(ONL)/tools/cpiomod.py --cpio onl-buildroot-initrd-$(ARCH).cpio.gz --add-directory $(ROOT) --out $@
|
|
sudo rm -rf $(ROOT) onl-buildroot-initrd-$(ARCH).cpio.gz
|
|
|
|
__vendor_config_data:
|
|
set -e ;\
|
|
vpkgs= ;\
|
|
l="$(PLATFORMS)"; for p in $$l; do \
|
|
vpkg=$$(python $(ONL)/tools/onlplatform.py $$p $(ARCH) vendor) ;\
|
|
case " $$vpkgs " in *" $$vpkg "*) continue ;; esac ;\
|
|
vpkgs=$$vpkgs$${vpkgs:+" "}$$vpkg ;\
|
|
echo "Adding vendor package $$vpkg" ;\
|
|
$(ONLPM) --sudo --force --extract-dir $$vpkg $(ROOT) ;\
|
|
done ;\
|
|
:
|