bsys5/Makefile

75 lines
2.5 KiB
Makefile

.PHONY : help all clean veryclean fetch prune docker build debian11 fedora35 ci-debian ci-fedora35
version:=$(shell cat version)
release:=$(shell cat release)
source_release:=$(shell cat source_release)
tarball=librewolf-$(version)-$(source_release).source.tar.gz
help :
@echo "Use: make [help] [all] [docker] [build] [clean] [veryclean] [fetch] [prune]"
@echo ""
@echo "OS targets:"
@echo " [debian11] - build for debian11"
@echo " [fedora35] - build for fedora35"
@echo ""
@echo "CI targets:"
@echo " [ci-debian11]"
@echo " [ci-fedora35]"
@echo ""
all :
@echo "Nothing happens."
clean :
sudo rm -rf work
veryclean : clean
rm -f $(tarball)
prune :
docker system prune --all --force
fetch : $(tarball)
$(tarball) :
wget -O $(tarball) "https://gitlab.com/librewolf-community/browser/source/-/jobs/artifacts/main/raw/$(tarball)?job=Build"
docker : make-docker-image-debian11 make-docker-image-fedora35
build : debian11 fedora35
work : $(tarball)
mkdir work
(cd work && tar xf ../$(tarball))
## debian11
make-docker-image-debian11 :
docker build --build-arg "distro=debian:bullseye" -t librewolf/bsys5-image-debian11 - < Dockerfile
debian11 : work
docker run --rm -v $(shell pwd)/work:/work:rw librewolf/bsys5-image-debian11 sh -c "(cd work/librewolf-$(version) && ./mach build && ./mach package)"
cp -v work/librewolf-$(version)/obj-x86_64-pc-linux-gnu/dist/librewolf-$(version)-$(source_release).en-US.linux-x86_64.tar.bz2 librewolf-$(version)-$(release).en-US.debian11-x86_64.tar.bz2
ci-debian11 : work
(cd work/librewolf-$(version) && ./mach build && ./mach package)
cp -v work/librewolf-$(version)/obj-x86_64-pc-linux-gnu/dist/librewolf-$(version)-$(source_release).en-US.linux-x86_64.tar.bz2 librewolf-$(version)-$(release).en-US.debian11-x86_64.tar.bz2
## fedora35
make-docker-image-fedora35 :
docker build --build-arg "distro=fedora:35" -t librewolf/bsys5-image-fedora35 - < Dockerfile
fedora35 : work
docker run --rm -v $(shell pwd)/work:/work:rw librewolf/bsys5-image-fedora35 sh -c "cd /work/librewolf-$(version) && ./mach build && ./mach package"
cp -v work/librewolf-$(version)/obj-x86_64-pc-linux-gnu/dist/librewolf-$(version)-$(source_release).en-US.linux-x86_64.tar.bz2 librewolf-$(version)-$(release).en-US.fedora35-x86_64.tar.bz2
ci-fedora35 : work
(cd /work/librewolf-$(version) && ./mach build && ./mach package)
cp -v work/librewolf-$(version)/obj-x86_64-pc-linux-gnu/dist/librewolf-$(version)-$(source_release).en-US.linux-x86_64.tar.bz2 librewolf-$(version)-$(release).en-US.fedora35-x86_64.tar.bz2