build: Improve building of RPM
[autocluster.git] / Makefile
index ee82ac9f0754fb6a13eff15cfa1f2ec225245d25..279eb00f10147bcdbebba27bea2d4cf07c1d5752 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,10 @@
-version=$$(git describe | sed -e 's@autocluster-@@' -e 's@-@_@g')
+version        = $(shell git describe | sed -e 's|autocluster-||' -e 's|-|_|g')
+rpm_top_dir = $(shell rpmbuild --showrc | \
+               sed -n -e 's|^.*: _topdir[[:space:]]*||p')
+rpm_dir = $(rpm_top_dir)/RPMS/noarch
+tarball        = autocluster-$(version).tar.gz
+rpm    = autocluster-$(version)-1.noarch.rpm
+
 
 prefix = /usr/local
 datadir        = ${prefix}/share/autocluster
@@ -23,20 +29,25 @@ install:    all
 debian/changelog:      debian/changelog.in Makefile .git/refs/heads/master
        sed -e "s/@@DATE@@/$$(date '+%a, %e %b %Y %T %z')/" -e "s/@@VERSION@@/$(version)/" $< > $@ || rm -f $@
 
-autocluster.spec:      autocluster.spec.in Makefile .git/refs/heads/master
+autocluster.spec:      autocluster.spec.in Makefile .git/refs/heads/master .git/refs/tags
        sed -e "s/@@VERSION@@/$(version)/" $< > $@ || rm -f $@
 
 ChangeLog:     .git/refs/heads/master
                git log > $@ || rm -f $@
 
-dist:  $(genpkg)
+dist:  $(tarball)
+
+$(tarball):    $(genpkg)
        t=autocluster-$(version) && \
        git archive --prefix=$${t}/ HEAD > $${t}.tar && \
        tar r --transform s@^@$${t}/@ -f $${t}.tar $(genpkg) && \
        gzip -f $${t}.tar
 
-rpm:   dist
-       rpmbuild -tb autocluster-$(version).tar.gz
+rpm:   $(rpm)
+
+$(rpm):        $(tarball)
+       rpmbuild -tb $(tarball)
+       mv $(rpm_dir)/$(rpm) $(rpm)
 
 clean:
        rm -f $(hacks) $(genpkg)