-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile
50 lines (41 loc) · 1.75 KB
/
Makefile
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
NAME=$(shell grep Name: *.spec | sed 's/^[^:]*:[^a-zA-Z]*//')
VERSION=$(shell grep Version: *.spec | sed 's/^[^:]*:[^0-9]*//')
RELEASE=$(shell grep Release: *.spec | cut -d"%" -f1 | sed 's/^[^:]*:[^0-9]*//')
build=$(shell pwd)/build
dist=$(shell rpm --eval '%dist')
default:
@echo "Nothing to do"
install:
@echo installing ...
@mkdir -p $(prefix)/usr/bin
@mkdir -p $(prefix)/usr/share/man/man1
@mkdir -p $(prefix)/usr/share/doc/$(NAME)-$(VERSION)
@mkdir -p $(prefix)/usr/share/licenses/$(NAME)-$(VERSION)
@install -m 0755 src/lcg-infosites $(prefix)/usr/bin
@install -m 0644 man/lcg-infosites.1 $(prefix)/usr/share/man/man1
@install -m 0644 README.md $(prefix)/usr/share/doc/$(NAME)-$(VERSION)/
@install -m 0644 AUTHORS.md $(prefix)/usr/share/doc/$(NAME)-$(VERSION)/
@install -m 0644 COPYRIGHT $(prefix)/usr/share/licenses/$(NAME)-$(VERSION)/
@install -m 0644 LICENSE.txt $(prefix)/usr/share/licenses/$(NAME)-$(VERSION)/
dist:
@mkdir -p $(build)/$(NAME)-$(VERSION)/
rsync -HaS --exclude ".git" --exclude "$(build)" * $(build)/$(NAME)-$(VERSION)/
cd $(build); tar --gzip -cf $(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION)/; cd -
sources: dist
cp $(build)/$(NAME)-$(VERSION).tar.gz .
prepare: dist
@mkdir -p $(build)/RPMS/noarch
@mkdir -p $(build)/SRPMS/
@mkdir -p $(build)/SPECS/
@mkdir -p $(build)/SOURCES/
@mkdir -p $(build)/BUILD/
cp $(build)/$(NAME)-$(VERSION).tar.gz $(build)/SOURCES
cp $(NAME).spec $(build)/SPECS
srpm: prepare
rpmbuild -bs --define="dist $(dist)" --define="_topdir $(build)" $(build)/SPECS/$(NAME).spec
rpm: srpm
rpmbuild --rebuild --define="dist $(dist)" --define="_topdir $(build)" $(build)/SRPMS/$(NAME)-$(VERSION)-$(RELEASE)$(dist).src.rpm
clean:
rm -f *~ $(NAME)-$(VERSION).tar.gz
rm -rf $(build)
.PHONY: dist srpm rpm sources clean