Makefile
1.4 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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
PROJECT = softwarepublico
VERSION = 2014.07
COMPONENTS = colab
TARBALL_FORMAT = tar.gz
TARBALLS = $(patsubst %,build/$(PROJECT)-%-$(VERSION).$(TARBALL_FORMAT),$(COMPONENTS))
RPMS = $(patsubst %.$(TARBALL_FORMAT),%-1.$(ARCH).rpm, $(TARBALLS))
GENERATED += $(TARBALLS) $(RPMS)
ARCH = $(shell uname -m)
ifeq ("$(V)", "1")
Q :=
RPMBUILD_FLAGS :=
qecho := @true
else
Q := @
RPMBUILD_FLAGS := --quiet
qecho := @echo
endif
all: sdist rpm
sdist: $(TARBALLS)
rpm: $(RPMS)
$(TARBALLS): build/$(PROJECT)-%-$(VERSION).$(TARBALL_FORMAT): %
$(qecho) "TAR\t$@"
$(Q)mkdir -p $$(dirname $@)
$(Q)tarball=$$(readlink -f $@); (cd ./$< && git archive --prefix=$(PROJECT)-$<-$(VERSION)/ HEAD | gzip - > $$tarball) || ($(RM) $@; false)
$(RPMS): build/$(PROJECT)-%-$(VERSION)-1.$(ARCH).rpm: build/$(PROJECT)-%-$(VERSION).$(TARBALL_FORMAT)
$(RPMS): build/$(PROJECT)-%-$(VERSION)-1.$(ARCH).rpm: rpm/%.spec
$(qecho) "RPM\t$@"
$(Q)mkdir -p ~/rpmbuild/SOURCES
$(Q)component=$$(basename $< .spec) && \
ln -f build/$(PROJECT)-$$component-$(VERSION).$(TARBALL_FORMAT) ~/rpmbuild/SOURCES/ && \
rpmbuild -bb $(RPMBUILD_FLAGS) $< && \
ln -f ~/rpmbuild/RPMS/$(ARCH)/$(PROJECT)-$$component-$(VERSION)-1.$(ARCH).rpm $@
%.spec: %.spec.in
$(qecho) "SPEC\t$@"
$(Q)(sed -e 's/@@version@@/$(VERSION)/g' $^ > $@) || ($(RM) $@; false)
GENERATED += $(patsubst %.in,%,$(wildcard rpm/*.spec.in))
clean:
$(qecho) Cleaning
$(Q)$(RM) $(GENERATED)