# This file is part of Wydawca # Copyright (C) 2007, 2009 Sergey Poznyakoff # # Wudawca is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free # Software Foundation; either version 3 of the License, or (at your option) # any later version. # # Wydawca is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with Wydawca. If not, see . info_TEXINFOS=wydawca.texi wydawca_TEXINFOS=fdl.texi rendition.texi macros.texi EXTRA_DIST = gendocs_template clean-local: rm -rf manual # The rendering level is one of PUBLISH, DISTRIB or PROOF. # Just call `make RENDITION=PROOF [target]' if you want PROOF rendition. RENDITION = DISTRIB MAKEINFOFLAGS=-D$(RENDITION) GENDOCS=gendocs.sh TEXI2DVI=texi2dvi -t '@set $(RENDITION)' -E # Make sure you set TEXINPUTS. # TEXINPUTS=/usr/share/texmf/pdftex/plain/misc/ is ok for most distributions manual: TEXINPUTS=$(srcdir):$(top_srcdir)/build-aux:$(TEXINPUTS) \ MAKEINFO="$(MAKEINFO) $(MAKEINFOFLAGS)" \ TEXI2DVI="$(TEXI2DVI) -t @finalout" \ $(GENDOCS) $(PACKAGE) '$(PACKAGE_NAME) manual' # Checking check-tabs: @if test -n "`cat $(info_TEXINFOS) $(wydawca_TEXINFOS) | tr -d -c '\t'`"; then \ echo "Sources contain tabs; run make untabify"; \ false; \ fi check-sentence-spacing: @if grep -q '\. [@A-Z]' $(info_TEXINFOS) $(wydawca_TEXINFOS); then \ echo >&2 "Sources contain double-space sentence separators"; \ echo >&2 "Run make fix-sentence-spacing to fix"; \ fi check-format: check-tabs check-sentence-spacing check-options: @check-docs.sh options \ '/OPTIONS_BEGIN/,/OPTIONS_END/s/OPTION( *\([^,][^,]*\),.*/\1/pg' \ '/@c option --/{s///;s/^\(help\|version\|usage\)//;p}' \ $(top_srcdir)/src/cmdline.opt -- \ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -E - \ $(info_TEXINFOS) check-refs: @sed -e = $(info_TEXINFOS) $(wydawca_TEXINFOS) | \ sed -n 'N;/@FIXME-.*ref/{s/\(^[0-9][0-9]*\).*@FIXME-.*ref{\([^}]*\)}.*/$(info_TEXINFOS):\1: \2/gp}' > $@-t; \ if [ -s $@-t ]; then echo "Unresolved cross-references:"; cat $@-t;\ fi rm -f $@-t check-fixmes: @sed -e = $(info_TEXINFOS) | \ sed -n 'N;/@FIXME{/{s/\(^[0-9][0-9]*\).*@FIXME{\([^}]*\).*/$(info_TEXINFOS):\1: \2/gp}' > $@-t; \ if [ -s $@-t ]; then echo "Unresolved FIXMEs:"; cat $@-t;\ fi rm -f $@-t check-writeme: @grep -Hn @WRITEME $(info_TEXINFOS) $(wydawca_TEXINFOS) > $@-t; \ if [ -s $@-t ]; then \ echo "Empty nodes:"; \ cat $@-t; \ rm $@-t; \ false;\ else \ rm $@-t; \ fi check-unrevised: @grep -Hn @UNREVISED $(info_TEXINFOS) > $@-t; \ if [ -s $@-t ]; then \ echo "Unrevised nodes:"; \ cat $@-t; \ rm $@-t; \ false;\ else \ rm $@-t; \ fi all-check-docs: check-format check-options check-refs check-fixmes check-unrevised check-writeme check-docs: $(MAKE) -k all-check-docs master-menu: emacs -batch -l mastermenu.el -f make-master-menu $(info_TEXINFOS) untabify: emacs -batch -l untabify.el $(info_TEXINFOS) $(wydawca_TEXINFOS) fix-sentence-spacing: for file in $(info_TEXINFOS) $(wydawca_TEXINFOS); \ do \ if grep -q '\. [@A-Z]' $$file; then \ mv $$file $${file}~; \ sed -r 's/\. ([@A-Z])/. \1/g' $${file}~ > $$file; \ fi; \ done final: untabify fix-sentence-spacing master-menu