ncurses 5.2
[ncurses.git] / dist.mk
diff --git a/dist.mk b/dist.mk
index d6a4efc257df0562d576239bea55a04c4d4bfcd4..b6a515dd54b110a617ca8c18e2d3796730b686d3 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -1,4 +1,4 @@
-# $Id: dist.mk,v 1.82 1998/02/28 23:10:59 tom Exp $
+# $Id: dist.mk,v 1.227 2000/10/20 22:28:06 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -8,9 +8,9 @@
 SHELL = /bin/sh
 
 # These define the major/minor/patch versions of ncurses.
-NCURSES_MAJOR = 4
+NCURSES_MAJOR = 5
 NCURSES_MINOR = 2
-NCURSES_PATCH = 980228
+NCURSES_PATCH = 20001021
 
 # 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
+MANPROG        = tbl | nroff -man
+
+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/edit_man.sh editing /usr/man man $$f | $(MANPROG) | 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: