scripts: Add autocluster-test-ctdb script
[autocluster.git] / Makefile
1 version    := $(shell git describe 2>/dev/null | sed -e 's|autocluster-||' -e 's|-|_|g')
2 rpm_top_dir = $(shell rpmbuild -E '%_topdir')
3 rpm_dir     = $(rpm_top_dir)/RPMS/noarch
4 tarball     = autocluster-$(version).tar.gz
5 rpm         = autocluster-$(version)-1.noarch.rpm
6
7 prefix  = /usr/local
8 datadir = ${prefix}/share/autocluster
9 bindir  = ${prefix}/bin
10
11 datas   = COPYING defaults.yml ansible vagrant test-ctdb
12 hacks   = autocluster.hack
13 genpkg  = debian/changelog autocluster.spec ChangeLog
14
15 all: $(hacks)
16
17 autocluster.hack: autocluster.py
18         sed -e "s|^INSTALL_DIR = .*|INSTALL_DIR = '$(datadir)'|" $< > $@
19
20 install: all
21         mkdir -p $(DESTDIR)$(datadir)
22         cp -a $(datas) $(DESTDIR)$(datadir)/
23         mkdir -p $(DESTDIR)$(bindir)
24         install -m 755 autocluster.hack $(DESTDIR)$(bindir)/autocluster
25         ln -s \
26                 $(datadir)/test-ctdb/autocluster-test-ctdb.sh \
27                 $(DESTDIR)$(bindir)/autocluster-test-ctdb
28
29 debian/changelog: debian/changelog.in always
30         sed -e "s/@@DATE@@/$$(date '+%a, %e %b %Y %T %z')/" -e "s/@@VERSION@@/$(version)/" $< > $@
31
32 autocluster.spec: autocluster.spec.in always
33         sed -e "s/@@VERSION@@/$(version)/" $< > $@
34
35 ChangeLog: always
36         git log > ChangeLog
37
38 dist: tarball
39
40 tarball: $(genpkg)
41         t=autocluster-$(version) && \
42         git archive --prefix=$${t}/ HEAD > $${t}.tar && \
43         tar r --transform s@^@$${t}/@ -f $${t}.tar $(genpkg) && \
44         gzip -f $${t}.tar
45
46 rpm: tarball
47         rpmbuild -tb $(tarball)
48         mv $(rpm_dir)/$(rpm) $(rpm)
49
50 clean:
51         rm -f $(hacks) $(genpkg)
52
53 .PHONY: all install dist tarball rpm clean always