ponysay/configure
2012-08-18 22:28:17 +02:00

271 lines
13 KiB
Bash
Executable file

#!/usr/bin/env bash
if [ -f Makefile ]; then
rm -f Makefile
if [ ! $? == 0 ]; then
echo "$0"': fatal: unable to remove your old Makefile' >&2
exit 1
fi
fi
PREFIX="/usr"
CPPFLAGS=""
CFLAGS=""
LDFLAGS=""
compileMethods=""
completions=( 'completion/bash-completion.sh' 'completion/fish-completion.fish' 'completion/zsh-completion.zsh' )
for arg in "$@"; do
opt="${arg%%=*}"
val="${arg##*=}"
if [ "$opt" = '--prefix' ]; then
PREFIX="$val"
fi
done
function correctPrefix()
{
for file in "$@"; do
echo -en '\t'
echo 'sed -e '\''s/'\''\'\'''\''\/usr\//'\''\'\''"$(SED_PREFIX)"'\''\//g'\'' < "'"$file"'" > "'"$file"'.install"'
done
}
function gzCompress()
{
for file in "$@"; do
echo -en '\t'
echo 'gzip -9 -f < "'"$file"'" > "'"$file"'".gz'
done
}
function thinkCompletion()
{
for file in "$@"; do
echo -en '\tsed '
echo -n '-e '\''s/ponysay/ponythink/g'\'
echo -n ' < "'"$file"'.install" | sed '
echo -n '-e '\''s/\/ponythink\//\/ponysay\//g'\'
echo -n '-e '\''s/\\\/ponythink\\\//\\\/ponysay\\\//g'\'
thinkfile="${file%%.*}-think.${file##.*}"
echo ' > "'"$thinkfile"'"'
done
}
echo "PREFIX = $PREFIX"
echo "CPPFLAGS = $CPPFLAGS"
echo "CFLAGS = $CFLAGS"
echo "LDFLAGS = $LDFLAGS"
function makeMakefile()
{
echo 'PREFIX='\'"$PREFIX"\'
echo 'CPPFLAGS='\'"$CPPFLAGS"\'
echo 'CFLAGS='\'"$CFLAGS"\'
echo 'LDFLAGS='\'"$LDFLAGS"\'
echo 'INSTALLDIR="$(DESTDIR)$(PREFIX)"'
echo 'SED_PREFIX=$$(sed -e '\''s/\//\\\//g'\'' <<<$(PREFIX))'
echo
echo 'default: all'
echo
echo 'all:'"$compileMethods"
echo
echo "core:"
correctPrefix 'ponysay.py'
echo
echo "truncater:"
echo -en '\t'
echo '$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o "truncater" "truncater.c"'
echo
echo 'manpages:'
gzCompress 'manuals/manpage.6' 'manuals/manpage.es.6'
echo
echo 'infomanual:'
echo -en '\t'
echo 'makeinfo "manuals/ponysay.texinfo"'
gzCompress 'ponysay.info'
echo
echo 'ponysaycompletion:'
correctPrefix "$completions"
echo
echo 'ponythinkcompletion: ponysaycompletion'
thinkCompletion "$completions"
echo
}
makeMakefile > Makefile
#install-min: core truncater
# mkdir -p "$(INSTALLDIR)/share/ponysay/"
# mkdir -p "$(INSTALLDIR)/share/ponysay/ponies"
# mkdir -p "$(INSTALLDIR)/share/ponysay/ttyponies"
# mkdir -p "$(INSTALLDIR)/share/ponysay/quotes"
# cp -P ponies/*.pony "$(INSTALLDIR)/share/ponysay/ponies/"
# cp -P ttyponies/*.pony "$(INSTALLDIR)/share/ponysay/ttyponies/"
# cp -P quotes/*.* "$(INSTALLDIR)/share/ponysay/quotes/"
#
# mkdir -p "$(INSTALLDIR)/bin/"
# install "ponysay" "$(INSTALLDIR)/bin/ponysay"
# install "ponysay.py" "$(INSTALLDIR)/bin/ponysay.py"
# ln -sf "ponysay" "$(INSTALLDIR)/bin/ponythink"
# ln -sf "ponysay.py" "$(INSTALLDIR)/bin/ponythink.py"
#
# mkdir -p "$(INSTALLDIR)/lib/ponysay/"
# install -s "truncater" "$(INSTALLDIR)/lib/ponysay/truncater"
#
# mkdir -p "$(INSTALLDIR)/share/licenses/ponysay/"
# install "COPYING" "$(INSTALLDIR)/share/licenses/ponysay/COPYING"
#
#install-bash: ponythinkcompletion
# mkdir -p "$(INSTALLDIR)/share/bash-completion/completions/"
# install "completion/bash-completion.sh.install" "$(INSTALLDIR)/share/bash-completion/completions/ponysay"
# install "completion/bash-completion-think.sh" "$(INSTALLDIR)/share/bash-completion/completions/ponythink"
#
#install-zsh: ponythinkcompletion
# mkdir -p "$(INSTALLDIR)/share/zsh/site-functions/"
# install "completion/zsh-completion.zsh.install" "$(INSTALLDIR)/share/zsh/site-functions/_ponysay"
# install "completion/zsh-completion-think.zsh" "$(INSTALLDIR)/share/zsh/site-functions/_ponythink"
#
#install-fish: ponythinkcompletion
# mkdir -p "$(INSTALLDIR)/share/fish/completions/"
# install "completion/fish-completion.fish.install" "$(INSTALLDIR)/share/fish/completions/ponysay.fish"
# install "completion/fish-completion-think.fish" "$(INSTALLDIR)/share/fish/completions/ponythink.fish"
#
#install-man: manpages
# mkdir -p "$(INSTALLDIR)/share/man/man6"
# install "manuals/manpage.6.gz" "$(INSTALLDIR)/share/man/man6/ponysay.6.gz"
# ln -sf "ponysay.6.gz" "$(INSTALLDIR)/share/man/man6/ponythink.6.gz"
#
#install-man-es: manpages
# mkdir -p "$(INSTALLDIR)/share/man/es/man6"
# install "manuals/manpage.es.6.gz" "$(INSTALLDIR)/share/man/es/man6/ponysay.6.gz"
# ln -sf "ponysay.6.gz" "$(INSTALLDIR)/share/man/es/man6/ponythink.6.gz"
#
#install-info: infomanual
# mkdir -p "$(INSTALLDIR)/share/info"
# install "ponysay.info.gz" "$(INSTALLDIR)/share/info/ponysay.info.gz"
# install "ponysay.info.gz" "$(INSTALLDIR)/share/info/ponythink.info.gz"
# install-info --dir-file="$(INSTALLDIR)/share/info/dir" --entry="Miscellaneous" --description="My Little Ponies for your terminal" "$(INSTALLDIR)/share/info/ponysay.info.gz"
# install-info --dir-file="$(INSTALLDIR)/share/info/dir" --entry="Miscellaneous" --description="My Little Ponies for your terminal" "$(INSTALLDIR)/share/info/ponythink.info.gz"
#
#install-no-info: install-min install-bash install-zsh install-fish install-man install-man-es
#
#install-pdf:
# install "ponysay.pdf" "$(INSTALLDIR)/doc/ponysay.pdf"
#
#install: install-no-info install-info
# @echo -e '\n\n'\
#'/--------------------------------------------------\\\n'\
#'| ___ |\n'\
#'| / (_) o |\n'\
#'| \__ _ _ __ |\n'\
#'| / / |/ | | / \_| | |\n'\
#'| \___/ | |_/|/\__/ \_/|/ |\n'\
#'| /| /| |\n'\
#'| \| \| |\n'\
#'| ____ |\n'\
#'| | _ \ ___ _ __ _ _ ___ __ _ _ _ |\n'\
#'| | |_) |/ _ \ | '\''_ \ | | | |/ __| / _` || | | | |\n'\
#'| | __/| (_) || | | || |_| |\__ \| (_| || |_| | |\n'\
#'| |_| \___/ |_| |_| \__, ||___/ \__,_| \__, | |\n'\
#'| |___/ |___/ |\n'\
#'\\--------------------------------------------------/'
# @echo 'dummy' | ./ponysay -f ./`if [[ "$$TERM" = "linux" ]]; then echo ttyponies; else echo ponies; fi`/pinkiecannon.pony | tail --lines=30 ; echo -e '\n'
#
#uninstall:
# if [ -d "$(INSTALLDIR)/share/ponysay" ]; then rm -fr "$(INSTALLDIR)/share/ponysay" ; fi
# if [ -d "$(INSTALLDIR)/lib/ponysay" ]; then rm -fr "$(INSTALLDIR)/lib/ponysay" ; fi
# if [ -f "$(INSTALLDIR)/bin/ponysay" ]; then unlink "$(INSTALLDIR)/bin/ponysay" ; fi
# if [ -f "$(INSTALLDIR)/bin/ponythink" ]; then unlink "$(INSTALLDIR)/bin/ponythink" ; fi
# if [ -f "$(INSTALLDIR)/share/licenses/ponysay/COPYING" ]; then unlink "$(INSTALLDIR)/share/licenses/ponysay/COPYING" ; fi
# if [ -f "$(INSTALLDIR)/share/bash-completion/completions/ponysay" ]; then unlink "$(INSTALLDIR)/share/bash-completion/completions/ponysay" ; fi
# if [ -f "$(INSTALLDIR)/share/bash-completion/completions/ponythink" ]; then unlink "$(INSTALLDIR)/share/bash-completion/completions/ponythink"; fi
# if [ -f "$(INSTALLDIR)/share/fish/completions/ponysay.fish" ]; then unlink "$(INSTALLDIR)/share/fish/completions/ponysay.fish" ; fi
# if [ -f "$(INSTALLDIR)/share/fish/completions/ponythink.fish" ]; then unlink "$(INSTALLDIR)/share/fish/completions/ponythink.fish" ; fi
# if [ -f "$(INSTALLDIR)/share/zsh/site-functions/_ponysay"; ]; then unlink "$(INSTALLDIR)/share/zsh/site-functions/_ponysay" ; fi
# if [ -f "$(INSTALLDIR)/share/zsh/site-functions/_ponythink"; ]; then unlink "$(INSTALLDIR)/share/zsh/site-functions/_ponythink" ; fi
# if [ -f "$(INSTALLDIR)/share/man/man6/ponysay.6.gz" ]; then unlink "$(INSTALLDIR)/share/man/man6/ponysay.6.gz" ; fi
# if [ -f "$(INSTALLDIR)/share/man/man6/ponythink.6.gz" ]; then unlink "$(INSTALLDIR)/share/man/man6/ponythink.6.gz" ; fi
# if [ -f "$(INSTALLDIR)/share/man/es/man6/ponysay.6.gz" ]; then unlink "$(INSTALLDIR)/share/man/es/man6/ponysay.6.gz" ; fi
# if [ -f "$(INSTALLDIR)/share/man/es/man6/ponythink.6.gz" ]; then unlink "$(INSTALLDIR)/share/man/es/man6/ponythink.6.gz" ; fi
# if [ -f "$(INSTALLDIR)/share/info/ponysay.info.gz" ]; then unlink "$(INSTALLDIR)/share/info/ponysay.info.gz" ; fi
# if [ -f "$(INSTALLDIR)/share/info/ponythink.info.gz" ]; then unlink "$(INSTALLDIR)/share/info/ponythink.info.gz" ; fi
# if [ -f "$(INSTALLDIR)/doc/ponysay.pdf" ]; then unlink "$(INSTALLDIR)/doc/ponysay.pdf" ; fi
#
#uninstall-old:
# if [ -d "$(INSTALLDIR)/share/ponies" ]; then rm -fr "$(INSTALLDIR)/share/ponies" ; fi
# if [ -d "$(INSTALLDIR)/share/ttyponies" ]; then rm -fr "$(INSTALLDIR)/share/ttyponies" ; fi
# if [ -f "$(INSTALLDIR)/bin/ponysaytruncater" ]; then unlink "$(INSTALLDIR)/bin/ponysaytruncater" ; fi
# if [ -d "$(INSTALLDIR)/lib/ponysay/link.pl" ]; then unlink "$(INSTALLDIR)/lib/ponysay/link.pl" ; fi
# if [ -d "$(INSTALLDIR)/lib/ponysay/linklist.pl" ]; then unlink "$(INSTALLDIR)/lib/ponysay/linklist.pl" ; fi
# if [ -d "$(INSTALLDIR)/lib/ponysay/pq4ps" ]; then unlink "$(INSTALLDIR)/lib/ponysay/pq4ps" ; fi
# if [ -d "$(INSTALLDIR)/lib/ponysay/pq4ps.pl" ]; then unlink "$(INSTALLDIR)/lib/ponysay/pq4ps.pl" ; fi
# if [ -d "$(INSTALLDIR)/lib/ponysay/pq4ps-list" ]; then unlink "$(INSTALLDIR)/lib/ponysay/pq4ps-list" ; fi
# if [ -d "$(INSTALLDIR)/lib/ponysay/pq4ps-list.pl" ]; then unlink "$(INSTALLDIR)/lib/ponysay/pq4ps-list.pl" ; fi
#
#clean:
# if [ -f "truncater" ]; then rm -f "truncater" ; fi
# if [ -f "completion/bash-completion-think.sh" ]; then rm -f "completion/bash-completion-think.sh" ; fi
# if [ -f "completion/fish-completion-think.fish" ]; then rm -f "completion/fish-completion-think.fish" ; fi
# if [ -f "completion/zsh-completion-think.zsh" ]; then rm -f "completion/zsh-completion-think.zsh" ; fi
# if [ -f "completion/bash-completion.sh.install" ]; then rm -f "completion/bash-completion.sh.install" ; fi
# if [ -f "completion/fish-completion.fish.install" ]; then rm -f "completion/fish-completion.fish.install"; fi
# if [ -f "completion/zsh-completion.zsh.install" ]; then rm -f "completion/zsh-completion.zsh.install" ; fi
# if [ -f "manuals/manpage.6.gz" ]; then rm -f "manuals/manpage.6.gz" ; fi
# if [ -f "manuals/manpage.es.6.gz" ]; then rm -f "manuals/manpage.es.6.gz" ; fi
# if [ -f "ponysay.info.gz" ]; then rm -f "ponysay.info.gz" ; fi
# if [ -f "ponysay.py.install" ]; then rm -f "ponysay.py.install" ; fi
#
#clean-old:
# if [ -f "ponysaytruncater" ]; then rm -f "ponysaytruncater"; fi
#
#
### Scripts for maintainers
#
#ttyponies:
# mkdir -p "ttyponies"
# for pony in $$(ls --color=no "ponies/"); do \
# echo "building ttypony: $$pony" ;\
# if [ `readlink "ponies/$$pony"` = "" ]; then \
# ponysay2ttyponysay < "ponies/$$pony" | tty2colourfultty -c 1 -e > "ttyponies/$$pony" ;\
# git add "ttyponies/$$pony" ;\
# elif [ ! -f "ttyponies/$$pony" ]; then \
# ln -s `readlink "ponies/$$pony"` "ttyponies/$$pony" ;\
# git add "ttyponies/$$pony" ;\
# fi \
# done
#
#pdfmanual:
# texi2pdf "manuals/ponysay.texinfo"
# git add "manuals/ponysay.texinfo" "ponysay.pdf"
# for ext in `echo aux cp cps fn ky log pg toc tp vr`; do \
# (if [ -f "ponysay.$$ext" ]; then unlink "ponysay.$$ext"; fi); \
# done
# if [ -d "ponysay.t2d" ]; then rm -r "ponysay.t2d"; fi
#
#submodules: clean
# (cd "ponyquotes4ponysay/"; make clean)
# git submodule init
# git submodule update
#
#quotes: submodules
# (cd "ponyquotes4ponysay/"; make -B)
# if [ -d quotes ]; then git rm "quotes/"*.*; fi
# mkdir -p "quotes"
# cp "ponyquotes4ponysay/ponyquotes/"*.* "quotes"
# git add "quotes/"*.*
#