-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathMakefile
More file actions
35 lines (25 loc) · 1.21 KB
/
Makefile
File metadata and controls
35 lines (25 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
.PHONY: all clean
GIT ?= $(shell command -v git 2>/dev/null)
TAG ?= $(shell $(GIT) describe --tags --always --abbrev=0)
VERSION ?= $(patsubst v%,%,$(TAG))
RELEASE ?= 1
HOME ?= $(shell echo ${HOME})
rwildcard = $(foreach d,$(wildcard $(1:=/*)),$(call rwildcard,$d,$2) $(filter $(subst *,%,$2),$d))
all: openchami-$(VERSION)-$(RELEASE).noarch.rpm
$(HOME)/rpmbuild:
rpmdev-setuptree
$(HOME)/rpmbuild/SPECS/openchami.spec: openchami.spec $(HOME)/rpmbuild
mkdir -p $(HOME)/rpmbuild/SPECS
cp $< $@
cp -r $< $@
$(HOME)/rpmbuild/SOURCES/openchami-$(VERSION).tar.gz: $(HOME)/rpmbuild $(call rwildcard,.,*)
mkdir -p $(HOME)/rpmbuild/SOURCES
rm -Rf $(HOME)/rpmbuild/SOURCES/openchami-$(VERSION).tar.gz
tar czvf $@ --transform 's,^,openchami-$(VERSION)/,' *
$(HOME)/rpmbuild/RPMS/noarch/openchami-$(VERSION)-$(RELEASE).noarch.rpm: $(HOME)/rpmbuild/SPECS/openchami.spec $(HOME)/rpmbuild/SOURCES/openchami-$(VERSION).tar.gz
rpmbuild -ba $(HOME)/rpmbuild/SPECS/openchami.spec --define 'version $(VERSION)' --define 'rel $(RELEASE)'
openchami-$(VERSION)-$(RELEASE).noarch.rpm: $(HOME)/rpmbuild/RPMS/noarch/openchami-$(VERSION)-$(RELEASE).noarch.rpm
cp $< $@
clean:
rm -rf $(HOME)/rpmbuild
rm -f openchami-*.noarch.rpm