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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
#
# Makefile for dish
#
# It is needed only to create manual pages, VERSION file, and packages
# For installing the software you can use essentially ./install.sh
#
PROG = dish
DOC_MAN_NAME="tool for parallel sysadmin of multiple hosts"
DOC_MAN = $(PROG).1
DOC_TEXT = $(PROG).txt
DOC_HTML = $(DOC_MAN).html
DOC_SEEALSO = seealso
DIR_SRC = src
VERSION = VERSION
# Installation directories
prefix = /usr/local
exec_prefix = $(prefix)
bindir = $(exec_prefix)/bin
mandir = $(prefix)/man
man1dir = $(mandir)/man1
# Debian directories
destbin = usr/bin
destman = usr/share/man/man1
destdoc = usr/share/doc/dish
all: $(VERSION) $(DIR_SRC)/$(DOC_MAN) $(DIR_SRC)/$(DOC_HTML) $(DIR_SRC)/$(DOC_SEEALSO) $(DIR_SRC)/$(DOC_TEXT)
@echo Done.
$(VERSION): $(DIR_SRC)/$(PROG)
$< -V > $(VERSION)
$(DIR_SRC)/$(DOC_MAN): $(DIR_SRC)/$(PROG) $(DIR_SRC)/$(DOC_SEEALSO)
cd $(DIR_SRC) ; \
help2man -N -n $(DOC_MAN_NAME) -i $(DOC_SEEALSO) ../$< \
|sed -e 's/\([( ]\)\\fB/\1/g; s/\([^\\]\)-/\1\\-/g; s/\([^\\]\)-/\1\\-/g;' > $(DOC_MAN)
$(DIR_SRC)/$(DOC_TEXT): $(DIR_SRC)/$(DOC_MAN)
cd $(DIR_SRC) ; \
./$(PROG) -Help > $(DOC_TEXT)
$(DIR_SRC)/$(DOC_HTML): $(DIR_SRC)/$(DOC_MAN)
cd $(DIR_SRC) ; \
which man2html 2>&1 |grep ^\/ && { man2html $(DOC_MAN) |egrep -vi "(^Section:|^Content-type|Return to Main Contents|^Time:|<H1>$<</H1>)" |sed -e 's_H2>_H3>_g' > $(DOC_HTML) ; } || true
clean:
rm -f $(VERSION) tar.stamp $(DIR_SRC)/$(DOC_MAN) $(DIR_SRC)/$(DOC_HTML) $(DIR_SRC)/$(DOC_TEXT)
install: installdirs all
if [ -n "$(DESTDIR)" ] ; then \
DESTBIN=$(DESTDIR)/$(destbin) ; \
DESTMAN=$(DESTDIR)/$(destman) ; \
else \
DESTBIN=$(bindir) && DESTMAN=$(man1dir) ; \
fi ; \
./install.sh -i -q -b $$DESTBIN -m $$DESTMAN
uninstall:
if [ -n "$(DESTDIR)" ] ; then \
DESTBIN=$(DESTDIR)/$(destbin) ; \
DESTMAN=$(DESTDIR)/$(destman) ; \
else \
DESTBIN=$(bindir) && DESTMAN=$(man1dir) ; \
fi ; \
./install.sh -u -q -b $$DESTBIN -m $$DESTMAN
install-doc-base: $(DIR_SRC)/$(DOC_HTML) $(DIR_SRC)/$(DOC_TEXT)
if [ -n "$(DESTDIR)" ] ; then \
DESTDOC=$(DESTDIR)/$(destdoc) ; \
/bin/cp -p $(DIR_SRC)/$(DOC_HTML) $$DESTDOC/html && \
/bin/cp -p $(DIR_SRC)/$(DOC_TEXT) $$DESTDOC && \
cd $$DESTDOC/html && ln -s $(DOC_HTML) index.html ; \
else \
echo "This target should be used only from debian/rules" ; \
fi ;
installdirs: $(DIR_SRC)/mkinstalldirs
cd $(DIR_SRC) ; \
if [ -n "$(DESTDIR)" ] ; then \
DESTBIN=$(DESTDIR)/$(destbin) ; \
DESTMAN=$(DESTDIR)/$(destman) ; \
else \
DESTBIN=$(bindir) && DESTMAN=$(man1dir) ; \
fi ; \
./mkinstalldirs $$DESTBIN $$DESTMAN
tar: all tar.stamp
tar.stamp:
touch tar.stamp ; \
vers=`cat $(VERSION)` ; \
ups=`test -f debian/changelog && \
awk 'NR==3 {print $0}' debian/changelog | \
grep -i 'new upstream' >/dev/null 2>&1 && echo 0` ; \
exclude="--exclude=debian --exclude=*-stamp --exclude=*.stamp \
--exclude=.*.swp" ; \
GZIP=--best ; \
export GZIP ; \
cd .. && tar czpvf $(PROG)-$$vers.tar.gz $(PROG)-$$vers $$exclude ; \
if [ $$ups ]; then \
cp -p $(PROG)-$$vers.tar.gz $(PROG)_$$vers.orig.tar.gz ; \
fi ; \
tar-full: all
vers=`cat $(VERSION)` ; \
dvers=`test -f debian/changelog && \
sed -n -e '1s/\(.*(\)\(.*\)\().*\)/\2/p' debian/changelog` ; \
exclude="--exclude=.*.swp" ; \
GZIP=--best ; \
export GZIP ; \
cd .. && \
tar czpvf $(PROG)_$$dvers.full.tar.gz $(PROG)-$$vers $$exclude
debsrc: all tar tar-full
debuild -S
packages: all tar tar-full
@( debuild && debuild clean && \
dvers=`test -f debian/changelog && \
sed -n -e '1s/\(.*(\)\(.*\)\().*\)/\2/p' debian/changelog` && \
echo "" && \
echo Trying to convert $(PROG)_$${dvers}_all.deb to RPM && \
su -c "umask 022 && alien -k -r ../$(PROG)_$${dvers}_all.deb" && \
mv -f *.rpm ..)
sums:
@vers=`cat $(VERSION)` ; \
dvers=`sed -n -e '1s/\(.*(\)\(.*\)\().*\)/\2/p' debian/changelog` ; \
cd .. && \
sha1sum $(PROG)-$$vers.tar.gz $(PROG)-$$dvers.noarch.rpm \
>$(PROG)-$$vers.sha1
|