DIR := $(dir $(lastword $(MAKEFILE_LIST))) # install git and npm $(info $(shell set -x; if [ "$$(id -u)" = "0" ]; then echo "Installing git"; dnf -y install git npm; fi)) NAME := jellyfin-web VERSION := $(shell set -x; sed -ne '/^Version:/s/.* *//p' $(DIR)/$(NAME).spec) RELEASE := $(shell set -x; sed -ne '/^Release:/s/.* *\(.*\)%{.*}.*/\1/p' $(DIR)/$(NAME).spec) GIT_VER := $(shell set -x; git describe --tags | sed -e 's/^v//' -e 's/-[0-9]*-g.*$$//') SRPM := jellyfin-web-$(subst -,~,$(GIT_VER))-$(RELEASE)$(shell rpm --eval %dist).src.rpm TARBALL :=$(NAME)-$(subst -,~,$(GIT_VER)).tar.gz epel-7-x86_64_repos := https://rpm.nodesource.com/pub_16.x/el/\$$releasever/\$$basearch/ outdir ?= $(PWD)/$(DIR)/ TARGET ?= fedora-35-x86_64 srpm: $(DIR)/$(SRPM) tarball: $(DIR)/$(TARBALL) $(DIR)/$(TARBALL): cd $(DIR)/; \ SOURCE_DIR=.. \ WORKDIR="$${PWD}"; \ version=$(GIT_VER); \ tar \ --transform "s,^\.,$(NAME)-$(subst -,~,$(GIT_VER))," \ --exclude='.git*' \ --exclude='**/.git' \ --exclude='**/.hg' \ --exclude=deployment \ --exclude='*.deb' \ --exclude='*.rpm' \ --exclude=$(notdir $@) \ -czf $(notdir $@) \ -C $${SOURCE_DIR} ./ $(DIR)/$(SRPM): $(DIR)/$(TARBALL) $(DIR)/jellyfin-web.spec ./bump_version $(GIT_VER) cd $(DIR)/; \ rpmbuild -bs $(NAME).spec \ --define "_sourcedir $$PWD/" \ --define "_srcrpmdir $(outdir)" rpms: $(DIR)/$(SRPM) mock $(addprefix --addrepo=, $($(TARGET)_repos)) \ --enable-network \ -r $(TARGET) $<