-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
-
+version := $(shell git describe 2>/dev/null | sed -e 's|autocluster-||' -e 's|-|_|g')
+rpm_top_dir = $(shell rpmbuild -E '%_topdir')
+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
bindir = ${prefix}/bin
-DESTDIR =
datas = COPYING defaults.yml ansible vagrant
hacks = autocluster.hack
-genpkg = debian/changelog autocluster.spec ChangeLog
+genpkg = debian/changelog autocluster.spec ChangeLog
-all: $(hacks)
+all: $(hacks)
-autocluster.hack: autocluster.py Makefile
+autocluster.hack: autocluster.py
sed -e "s|^INSTALL_DIR = .*|INSTALL_DIR = '$(datadir)'|" $< > $@
-install: all
+install: all
mkdir -p $(DESTDIR)$(datadir)
cp -a $(datas) $(DESTDIR)$(datadir)/
mkdir -p $(DESTDIR)$(bindir)
install -m 755 autocluster.hack $(DESTDIR)$(bindir)/autocluster
-.autocluster.version:
- echo $(version) >$@.new
- if cmp -s $@ $@.new ; then rm -f $@.new ; else mv -f $@.new $@ ; fi
-
-debian/changelog: debian/changelog.in .autocluster.version Makefile
- sed -e "s/@@DATE@@/$$(date '+%a, %e %b %Y %T %z')/" -e "s/@@VERSION@@/$(version)/" $< > $@ || rm -f $@
+debian/changelog: debian/changelog.in always
+ sed -e "s/@@DATE@@/$$(date '+%a, %e %b %Y %T %z')/" -e "s/@@VERSION@@/$(version)/" $< > $@
-autocluster.spec: autocluster.spec.in Makefile .autocluster.version
- sed -e "s/@@VERSION@@/$(version)/" $< > $@ || rm -f $@
+autocluster.spec: autocluster.spec.in always
+ sed -e "s/@@VERSION@@/$(version)/" $< > $@
-ChangeLog: .autocluster.version
- git log > $@ || rm -f $@
+ChangeLog: always
+ git log > ChangeLog
-dist: $(tarball)
+dist: tarball
-$(tarball): .autocluster.version $(genpkg)
+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: $(rpm)
-
-$(rpm): $(tarball)
+rpm: tarball
rpmbuild -tb $(tarball)
mv $(rpm_dir)/$(rpm) $(rpm)
clean:
rm -f $(hacks) $(genpkg)
+
+.PHONY: all install dist tarball rpm clean always