aboutsummaryrefslogtreecommitdiff
path: root/contrib/ncurses/dist.mk
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ncurses/dist.mk')
-rw-r--r--contrib/ncurses/dist.mk82
1 files changed, 69 insertions, 13 deletions
diff --git a/contrib/ncurses/dist.mk b/contrib/ncurses/dist.mk
index 090d2f33f5d6..ba715008cbdb 100644
--- a/contrib/ncurses/dist.mk
+++ b/contrib/ncurses/dist.mk
@@ -1,4 +1,4 @@
-# $Id: dist.mk,v 1.172 1999/10/23 12:29:39 tom Exp $
+# $Id: dist.mk,v 1.207 2000/06/29 23:08:38 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
@@ -9,8 +9,8 @@ SHELL = /bin/sh
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 5
-NCURSES_MINOR = 0
-NCURSES_PATCH = 19991023
+NCURSES_MINOR = 1
+NCURSES_PATCH = 20000701
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
@@ -18,7 +18,16 @@ VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
DUMP = lynx -dump
DUMP2 = $(DUMP) -nolist
-ALL = ANNOUNCE announce.html misc/ncurses-intro.doc misc/hackguide.doc
+GNATHTML= `type -p gnathtml || type -p gnathtml.pl`
+
+# man2html 3.0.1 is a Perl script which assumes that pages are fixed size.
+# Not all man programs agree with this assumption; some use half-spacing, which
+# has the effect of lengthening the text portion of the page -- so man2html
+# would remove some text. The man program on Redhat 6.1 appears to work with
+# man2html if we set the top/bottom margins to 6 (the default is 7).
+MAN2HTML= man2html -botm=6 -topm=6 -cgiurl '$$title.$$section$$subsection.html'
+
+ALL = ANNOUNCE doc/html/announce.html doc/ncurses-intro.doc doc/hackguide.doc manhtml adahtml
all : $(ALL)
@@ -26,19 +35,66 @@ dist: $(ALL)
(cd ..; tar cvf ncurses-$(VERSION).tar `sed <ncurses-$(VERSION)/MANIFEST 's/^./ncurses-$(VERSION)/'`; gzip ncurses-$(VERSION).tar)
distclean:
- rm -f $(ALL)
+ rm -f $(ALL) subst.tmp subst.sed MANIFEST.tmp
# Don't mess with announce.html.in unless you have lynx available!
-announce.html: announce.html.in
- sed 's,@VERSION@,$(VERSION),' <announce.html.in >announce.html
+doc/html/announce.html: announce.html.in
+ sed 's,@VERSION@,$(VERSION),' <announce.html.in > $@
+
+ANNOUNCE : doc/html/announce.html
+ $(DUMP) doc/html/announce.html > $@
-ANNOUNCE : announce.html
- $(DUMP) announce.html >ANNOUNCE
+doc/ncurses-intro.doc: doc/html/ncurses-intro.html
+ $(DUMP2) doc/html/ncurses-intro.html > $@
+doc/hackguide.doc: doc/html/hackguide.html
+ $(DUMP2) doc/html/hackguide.html > $@
-misc/ncurses-intro.doc: misc/ncurses-intro.html
- $(DUMP2) misc/ncurses-intro.html > misc/ncurses-intro.doc
-misc/hackguide.doc: misc/hackguide.html
- $(DUMP2) misc/hackguide.html > misc/hackguide.doc
+# Note that this rule assumes the manpages were installed - it does not use
+# the copies in the build tree except to get the list of names.
+manhtml: MANIFEST
+ @rm -f doc/html/man/*.html
+ @mkdir -p doc/html/man
+ @rm -f subst.tmp ;
+ @for f in man/*.[0-9]*; do \
+ m=`basename $$f` ;\
+ x=`echo $$m | awk -F. '{print $$2;}'` ;\
+ xu=`echo $$x | dd conv=ucase 2>/dev/null` ;\
+ if [ "$${x}" != "$${xu}" ]; then \
+ echo "s/$${xu}/$${x}/g" >> subst.tmp ;\
+ fi ;\
+ done
+ @sort < subst.tmp | uniq > subst.sed
+ @rm -f subst.tmp
+ @for f in man/*.[0-9]* ; do \
+ m=`basename $$f` ;\
+ g=$${m}.html ;\
+ if [ -f doc/html/$$g ]; then chmod +w doc/html/$$g; fi;\
+ echo "Converting $$m to HTML" ;\
+ man $$f | tr '\255' '-' | $(MAN2HTML) | \
+ sed -f subst.sed |\
+ sed -e 's/"curses.3x.html"/"ncurses.3x.html"/g' \
+ > doc/html/man/$$g ;\
+ done
+ @rm -f subst.sed
+ @sed -e "\%./doc/html/man/%d" < MANIFEST > MANIFEST.tmp
+ @find ./doc/html/man -type f -print >> MANIFEST.tmp
+ @chmod u+w MANIFEST
+ @sort -u < MANIFEST.tmp > MANIFEST
+ @rm -f MANIFEST.tmp
+
+#
+# Please note that this target can only be properly built if the build of the
+# Ada95 subdir has been done. The reason is, that the gnathtml tool uses the
+# .ali files generated by the Ada95 compiler during the build process. These
+# .ali files contain cross referencing information required by gnathtml.
+adahtml: MANIFEST
+ if [ ! -z "$(GNATHTML)" ]; then \
+ (cd ./Ada95/gen ; make html) ;\
+ sed -e "\%./doc/html/ada/%d" < MANIFEST > MANIFEST.tmp ;\
+ find ./doc/html/ada -type f -print >> MANIFEST.tmp ;\
+ sort -u < MANIFEST.tmp > MANIFEST ;\
+ rm -f MANIFEST.tmp ;\
+ fi
# Prepare distribution for version control
vcprepare: