# Project: Documentation Tools
# Descr: Latex --> MAN-page (groff -man), Makefile
# Author: Dr. J�rgen Vollmer,
[email protected]
# $Id: Makefile,v 1.128 2018/11/25 12:57:59 vollmer Exp $
BASE = latex2man
#-------- user configuration section
BIN_DIR = $(HOME)/bin
MAN_DIR = $(HOME)/man
HTML_DIR = $(HOME)/public_html
INFO_DIR = $(HOME)/info
TEX_DIR = $(HOME)/tex/inputs
CFG_DIR = $(HOME)/tex/inputs
#-------- end of user configuration section
DATE = `date +%Y-%m-%d`
DATE2 = `date +%Y/%m/%d`
TAR_BAK = $(BASE)-$(DATE)-backup.tar.gz
TAR_SRC = $(BASE)-$(DATE)-source.tar.gz
TAR_DIST = $(BASE)-$(VERSION).tar.gz
EX = --exclude "*.o" --exclude core --exclude "*.tar.gz" --exclude "*~" \
--exclude "*.a" --exclude "*.php"
EXrcs = $(EX) --exclude "*/RCS/*" --exclude "*/RCS"
VERSION = 1.29
V_DATE = 2018/11/25
latex2man = ./latex2man
D = $
HOMEPAGE = $(HOME)/Privat/homepage/informatik-vollmer/software
PHONY: all clean realclean diff backup src-tar
#.SUFFIXES: .tex .html .ps .info .texi .txt
all: $(BASE).1 $(BASE).html $(BASE).texi $(BASE).info $(BASE).txt $(BASE).pdf latex2man-CHANGES.html
$(MAKE) clean
%.ps: %.tex
latex $*.tex
latex $*.tex
dvips -o $*.ps $*.dvi
%.pdf: %.tex
T=/tmp/$*-$$$$; mkdir $$T && \
( \
cp $*.tex $*.sty $*.inc $$T && \
cd $$T && \
pdflatex $*.tex && \
pdflatex $*.tex); \
mv $$T/$*.pdf .
%.info: %.texi
makeinfo $*.texi
%.txt: %.1
groff -t -man -Tlatin1 $*.1 | \
sed -e 's/.//g' \
-e 's/7|//g' \
-e 's/[6-9]//g' \
-e 's///g' \
-e 's/�$$/- /' > $*.txt
%.1: %.tex
$(latex2man) -M $*.tex $*.1
%.html: %.tex
$(latex2man) -H -c $*.css $*.tex $*.html
%.texi: %.tex
$(latex2man) -T $*.tex $*.texi
latex2man-CHANGES.html: CHANGES
@( \
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">"; \
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">"; \
echo "<html><head>"; \
echo "<title>Changefile of LaTeX2HTML</title>"; \
echo "</head><body><pre>"; \
sed -e's/&/\&/g' -e's/>/\>/g' -e's/</\</g' < CHANGES; \
echo "</pre></body><html>"; \
) > latex2man-CHANGES.html
CHANGES.pre.html: CHANGES
sed -e's/&/\&/g' -e's/>/\>/g' -e's/</\</g' < CHANGES > CHANGES.pre.html; \
$(BASE).php: $(BASE).php.src Makefile CHANGES.pre.html
sed < $(BASE).php.src \
-e "s|@VERSION@|$(VERSION)|g" \
-e "s|@DATE@|$(V_DATE)|g" \
-e "/@CHANGELOG@/r CHANGES.pre.html" \
-e "/^@.*@$$/d" \
-e "s|$(BASE).src|$(BASE)|g" \
-e "s|$(D)\(Id: $(BASE),v .*\) $(D)|\1|g" |\
sed -e "/$(D)Id: CHANGES,v/d" \
> $(BASE).php
rm -f CHANGES.pre.html
latex2man-html.php: latex2man.html Makefile
@ (echo '<?php'; \
echo ' $$prefix = "..";'; \
echo ' $$logo = "abakus.jpg";'; \
echo ' $$logo_text = "russischer Abakus";'; \
echo ' $$language = "en";'; \
echo ' include "$$prefix/scripts/header.inc"'; \
echo '?>'; \
sed < latex2man.html \
-e "1,/<body*/d" \
-e "/<h4 align=center>/d" \
-e "s/ align=center//g" \
-e "/<\/body>/d" \
-e "/<\/html>/d"; \
echo '<?php include "$$prefix/scripts/footer.inc"?>'; \
) > latex2man-html.php
latex2man-text.php: latex2man.txt Makefile
@ (echo '<?php'; \
echo ' $$prefix = "..";'; \
echo ' $$logo = "abakus.jpg";'; \
echo ' $$logo_text = "russischer Abakus";'; \
echo ' $$langauge = "en";'; \
echo ' include "$$prefix/scripts/header.inc"'; \
echo '?>'; \
echo '<h1>LaTeX2MAN<br><small>plain text / UNIX-man</small></h1>'; \
echo '<pre'; \
echo ' style="border-style:ridge;border-width:2px;">'; \
cat latex2man.txt | \
sed -e's/&/\&/g' -e's/>/\>/g' -e's/</\</g' ; \
echo '</pre>'; \
echo '<?php include "$$prefix/scripts/footer.inc"?>'; \
) > latex2man-text.php
homepage: latex2man.pdf latex2man.txt latex2man.php latex2man-html.php latex2man-CHANGES.html latex2man-text.php latex2man.info
cp -fp $(TAR_DIST) latex2man.pdf latex2man*.php latex2man.info latex2man-CHANGES.html latex2man.css $(HOMEPAGE)
rm -f *.php
install: realclean all
@echo
@if [ ! -f $(INFO_DIR)/dir ]; \
then \
(echo ; \
echo ""; \
echo "File: dir Node: Top This is the top of the INFO tree"; \
echo "* Menu: " ) \
> $(INFO_DIR)/dir ; \
fi
cp -f $(BASE) $(BIN_DIR)
cp -f $(BASE).sty $(TEX_DIR)
cp -f $(BASE).cfg $(CFG_DIR)
cp -f $(BASE).1 $(MAN_DIR)/man1
cp -f $(BASE).html $(HTML_DIR)
cp -f $(BASE).css $(HTML_DIR)
cp -f $(BASE).info $(INFO_DIR)
install-info $(BASE).info $(INFO_DIR)/dir
$(MAKE) clean
uninstall:
rm -f $(BIN_DIR)/$(BASE)
rm -f $(TEX_DIR)/$(BASE).sty
rm -f $(CFG_DIR)/$(BASE).cfg
rm -f $(MAN_DIR)/man1/$(BASE).1
rm -f $(HTML_DIR)/$(BASE).html
rm -f $(HTML_DIR)/$(BASE).css
rm -f $(INFO_DIR)/$(BASE).info
- install-info --quiet --remove $(BASE).info $(INFO_DIR)/dir
src-tar:
$(MAKE) realclean all
@cd ..; tar $(EXrcs) -czvf $(BASE)/$(TAR_SRC) $(BASE)
dist:
rm -f THIS-IS-VERSION-*
@- co -l latex2man latex2man.tex latex2man.inc latex2man.sty README
@rm -f .xxx; cp latex2man .xxx
@sed < .xxx -e 's/$VERSION = .*/$VERSION = "$(VERSION)";/' > latex2man
@rm -f .xxx; cp latex2man.tex .xxx
@sed < .xxx -e 's/^\\setVersion{[0-9]*\(\.[0-9]*\)*}/\\setVersion{$(VERSION)}/' \
-e 's|^\\setDate{[0-9]*/[0-9]*/[0-9]*}|\\setDate{$(V_DATE)}|' \
> latex2man.tex
@rm -f .xxx; cp latex2man.sty .xxx
@sed < .xxx -e 's/^%% VERSION:.*/%% VERSION: $(VERSION)/' \
-e "s|^\(\\\\ProvidesPackage{latex2man}\).*|\1[$(DATE2) v$(VERSION)]|"\
> latex2man.sty
rm -f .xxx; cp README .xxx
@sed < .xxx -e 's/^VERSION:.*/VERSION: $(VERSION)/' > README
@rm -f .xxx
ci -u -m"Distribution" latex2man latex2man.tex latex2man.inc latex2man.sty README
- $(MAKE) realclean all
@echo "VERSION $(VERSION) DATE=$(V_DATE)" > THIS-IS-VERSION-$(VERSION)
@cd ..; tar $(EXrcs) -czvf $(BASE)/$(TAR_DIST) \
$(BASE)/latex2man \
$(BASE)/latex2man.tex \
$(BASE)/latex2man.cfg \
$(BASE)/latex2man.sty \
$(BASE)/latex2man.inc \
$(BASE)/latex2man.trans \
$(BASE)/latex2man.css \
$(BASE)/latex2man.1 \
$(BASE)/latex2man.txt \
$(BASE)/latex2man.html \
$(BASE)/latex2man.texi \
$(BASE)/latex2man.info \
$(BASE)/latex2man.pdf \
$(BASE)/Makefile \
$(BASE)/README \
$(BASE)/INSTALL \
$(BASE)/CHANGES \
$(BASE)/latex2man-CHANGES.html \
$(BASE)/THIS-IS-VERSION-$(VERSION)
backup:
@ cd ..; tar $(EX) -czvf /tmp/$(TAR_BAK) $(BASE)
@ copy-to-backup -al -d $(BASE) /tmp/$(TAR_BAK)
@ rm /tmp/$(TAR_BAK)
clean:
rm -f *~ *.aux *.log *.dvi .xxx *.out
realclean: clean
rm -f *.ps *.1 *.html *.texi *.info *.txt *.pdf
diff:
@echo
@echo "Check for differences with RCS"
@echo
for i in RCS/* ; do [ -f `basename $$i ,v` ] && rcsdiff -q $$i; done
@echo