summaryrefslogtreecommitdiff
path: root/Build/source/doc/splitinfo.gawk
blob: dd1133fafb49fc9bd5c4484c4d6d084bf3f14d5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# $Id$
# Public domain.  Originally written 2014 by Karl Berry.
# Split chapter 2 of plain text output from makeinfo,
# making each section into a separate README file.

BEGIN {
  lastline = "";   # have to read one line ahead
  outfile = "";    # where we are currently outputting
}

{
  if (/^[*=]+$/) { # starting new chapter or section
    # if we're at the index, quit.
    if (lastline == "Index") exit (0);
    
    # otherwise ignore unless chapter 2 (don't care about top, index, etc.)
    if (lastline !~ /^2/) next;
    
    # ok, we want this.  if we had a file open already, close it.
    if (outfile) close (outfile);
    
    # turn section title into filename and start new.
    outfile = tolower (lastline);	# all lowercase
    sub ("^2 ", "2.0 overview ", outfile);	# consider beginning of chapter as 2.0
    sub ("^2\\.", "", outfile);		# remove "2."
    sub (" ", "", outfile);		# remove first space (after secnum)
    sub (" .*", "", outfile);		# remove space and everything after,
    					# leaving just the first word.
    outfile = "README." outfile;	# prefix "README.
    #
    print "(This file was generated by makeinfo and splitinfo.gawk.)">outfile;
    print "(Released under the old-style GNU documentation license;" >outfile;
    print " see sources or other output files for full text.)"       >outfile;
    print "" >outfile;
    print lastline >outfile;
    # $0 will be printed as lastline, next time through.

  # splitting output.
  } else if (outfile) {
    print lastline >outfile;
  }
  
  lastline = $0;
}