Including a copy in void-packages turned out better solution.
Grep in image don't have required perl regexps, and getting
one that have make linting slower by order of magnitude.
Even if it was already there, simply using image is
unnecessarily slower.
This reverts commit 163a923529
.
105 lines
3.4 KiB
Makefile
105 lines
3.4 KiB
Makefile
GITVER := $(shell git rev-parse --short HEAD)
|
|
VERSION = 0.22
|
|
SHIN += $(shell find -type f -name '*.sh.in')
|
|
SCRIPTS += $(SHIN:.sh.in=.sh)
|
|
DATECODE=$(shell date "+%Y%m%d")
|
|
SHELL=/bin/bash
|
|
|
|
T_PLATFORMS=rpi{,2,3}{,-musl} beaglebone{,-musl} cubieboard2{,-musl} odroid-c2{,-musl} usbarmory{,-musl} GCP{,-musl}
|
|
T_ARCHS=i686 x86_64{,-musl} armv{6,7}l{,-musl} aarch64{,-musl}
|
|
|
|
T_SBC_IMGS=rpi{,2,3}{,-musl} beaglebone{,-musl} cubieboard2{,-musl} odroid-c2{,-musl} usbarmory{,-musl}
|
|
T_CLOUD_IMGS=GCP{,-musl}
|
|
|
|
T_PXE_ARCHS=x86_64{,-musl}
|
|
|
|
T_MASTERDIRS=x86_64{,-musl} i686
|
|
|
|
ARCHS=$(shell echo $(T_ARCHS))
|
|
PLATFORMS=$(shell echo $(T_PLATFORMS))
|
|
SBC_IMGS=$(shell echo $(T_SBC_IMGS))
|
|
CLOUD_IMGS=$(shell echo $(T_CLOUD_IMGS))
|
|
PXE_ARCHS=$(shell echo $(T_PXE_ARCHS))
|
|
MASTERDIRS=$(shell echo $(T_MASTERDIRS))
|
|
|
|
ALL_ROOTFS=$(foreach arch,$(ARCHS),void-$(arch)-ROOTFS-$(DATECODE).tar.xz)
|
|
ALL_PLATFORMFS=$(foreach platform,$(PLATFORMS),void-$(platform)-PLATFORMFS-$(DATECODE).tar.xz)
|
|
ALL_SBC_IMAGES=$(foreach platform,$(SBC_IMGS),void-$(platform)-$(DATECODE).img.xz)
|
|
ALL_CLOUD_IMAGES=$(foreach cloud,$(CLOUD_IMGS),void-$(cloud)-$(DATECODE).tar.gz)
|
|
ALL_PXE_ARCHS=$(foreach arch,$(PXE_ARCHS),void-$(arch)-NETBOOT-$(DATECODE).tar.gz)
|
|
ALL_MASTERDIRS=$(foreach arch,$(MASTERDIRS), masterdir-$(arch))
|
|
|
|
SUDO := sudo
|
|
|
|
XBPS_REPOSITORY := -r https://alpha.de.repo.voidlinux.org/current -r https://alpha.de.repo.voidlinux.org/current/musl -r https://alpha.de.repo.voidlinux.org/current/aarch64
|
|
COMPRESSOR_THREADS=2
|
|
|
|
%.sh: %.sh.in
|
|
sed -e "s|@@MKLIVE_VERSION@@|$(VERSION) $(GITVER)|g" $^ > $@
|
|
chmod +x $@
|
|
|
|
all: $(SCRIPTS)
|
|
|
|
clean:
|
|
-rm -f *.sh
|
|
|
|
distdir-$(DATECODE):
|
|
mkdir -p distdir-$(DATECODE)
|
|
|
|
dist: distdir-$(DATECODE)
|
|
mv void*$(DATECODE)* distdir-$(DATECODE)/
|
|
|
|
rootfs-all: $(ALL_ROOTFS)
|
|
|
|
rootfs-all-print:
|
|
@echo $(ALL_ROOTFS) | sed "s: :\n:g"
|
|
|
|
void-%-ROOTFS-$(DATECODE).tar.xz: $(SCRIPTS)
|
|
$(SUDO) ./mkrootfs.sh $(XBPS_REPOSITORY) -x $(COMPRESSOR_THREADS) $*
|
|
|
|
platformfs-all: $(ALL_PLATFORMFS)
|
|
|
|
platformfs-all-print:
|
|
@echo $(ALL_PLATFORMFS) | sed "s: :\n:g"
|
|
|
|
void-%-PLATFORMFS-$(DATECODE).tar.xz: $(SCRIPTS)
|
|
$(SUDO) ./mkplatformfs.sh $(XBPS_REPOSITORY) -x $(COMPRESSOR_THREADS) $* void-$(shell ./lib.sh platform2arch $*)-ROOTFS-$(DATECODE).tar.xz
|
|
|
|
images-all: platformfs-all images-all-sbc images-all-cloud
|
|
|
|
images-all-sbc: $(ALL_SBC_IMAGES)
|
|
|
|
images-all-sbc-print:
|
|
@echo $(ALL_SBC_IMAGES) | sed "s: :\n:g"
|
|
|
|
images-all-cloud: $(ALL_CLOUD_IMAGES)
|
|
|
|
images-all-print:
|
|
@echo $(ALL_SBC_IMAGES) $(ALL_CLOUD_IMAGES) | sed "s: :\n:g"
|
|
|
|
void-%-$(DATECODE).img.xz: void-%-PLATFORMFS-$(DATECODE).tar.xz
|
|
$(SUDO) ./mkimage.sh -x $(COMPRESSOR_THREADS) void-$*-PLATFORMFS-$(DATECODE).tar.xz
|
|
|
|
# Some of the images MUST be compressed with gzip rather than xz, this
|
|
# rule services those images.
|
|
void-%-$(DATECODE).tar.gz: void-%-PLATFORMFS-$(DATECODE).tar.xz
|
|
$(SUDO) ./mkimage.sh -x $(COMPRESSOR_THREADS) void-$*-PLATFORMFS-$(DATECODE).tar.xz
|
|
|
|
pxe-all: $(ALL_PXE_ARCHS)
|
|
|
|
pxe-all-print:
|
|
@echo $(ALL_PXE_ARCHS) | sed "s: :\n:g"
|
|
|
|
void-%-NETBOOT-$(DATECODE).tar.gz: $(SCRIPTS) void-%-ROOTFS-$(DATECODE).tar.xz
|
|
$(SUDO) ./mknet.sh void-$*-ROOTFS-$(DATECODE).tar.xz
|
|
|
|
masterdir-all-print:
|
|
@echo $(ALL_MASTERDIRS) | sed "s: :\n:g"
|
|
|
|
masterdir-all: $(ALL_MASTERDIRS)
|
|
|
|
masterdir-%:
|
|
$(SUDO) docker build --build-arg REPOSITORY=$(XBPS_REPOSITORY) --build-arg ARCH=$* -t voidlinux/masterdir-$*:$(DATECODE) .
|
|
|
|
.PHONY: clean dist rootfs-all-print rootfs-all platformfs-all-print platformfs-all pxe-all-print pxe-all masterdir-all-print masterdir-all masterdir-push-all
|