From 9c32ff7ed5aeca6906dbdb5bcf602f675893f3be Mon Sep 17 00:00:00 2001 From: Juergen Kahrs Date: Sat, 18 May 2013 18:35:13 +0200 Subject: Doc files are now built with clean dependencies. --- cmake/docmaker | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100755 cmake/docmaker (limited to 'cmake/docmaker') diff --git a/cmake/docmaker b/cmake/docmaker new file mode 100755 index 00000000..f9a821e9 --- /dev/null +++ b/cmake/docmaker @@ -0,0 +1,61 @@ +#!/bin/sh + +# TODO +# Check all dependencies first, then build the target. +# Each target shall be implemented as one function. + +if test $# -lt 1; then + echo " $0: Incorrect number ($#) of parameters passed: $*" +fi +OUTFILE=$1 +if test $OUTFILE = gawk.texi; then + INFILE=gawktexi.in + COMMAND="awk -f sidebar.awk < gawktexi.in > gawk.texi" +elif test $OUTFILE = gawk.dvi; then + INFILE=gawk.texi + COMMAND="texi2dvi -q --clean gawk.texi" +elif test $OUTFILE = gawkinet.dvi; then + INFILE=gawkinet.texi + COMMAND="texi2dvi -q --clean gawkinet.texi" +elif test $OUTFILE = gawk.1.ps; then + INFILE=gawk.1 + COMMAND="groff -z -man gawk.1 > gawk.1.ps" +elif test $OUTFILE = igawk.1.ps; then + INFILE=igawk.1 + COMMAND="groff -z -man igawk.1 > igawk.1.ps" +elif test $OUTFILE = gawk.1.pdf; then + INFILE=gawk.1.ps + COMMAND="ps2pdf -q gawk.1.ps gawk.1.pdf" +elif test $OUTFILE = igawk.1.pdf; then + INFILE=igawk.1.ps + COMMAND="ps2pdf -q igawk.1.ps igawk.1.pdf" +elif test $OUTFILE = gawk.ps; then + INFILE=gawk.dvi + COMMAND="dvips -q -o gawk.ps gawk.dvi" +elif test $OUTFILE = gawkinet.ps; then + INFILE=gawkinet.dvi + COMMAND="dvips -q -o gawkinet.ps gawkinet.dvi" +elif test $OUTFILE = gawk.pdf; then + INFILE=gawk.ps + COMMAND="ps2pdf -q gawk.ps gawk.pdf" +elif test $OUTFILE = gawkinet.pdf; then + INFILE=gawkinet.ps + COMMAND="ps2pdf -q gawkinet.ps gawkinet.pdf" +else + echo " unknwon target $OUTFILE" + exit 1 +fi + +if ! test -r "$INFILE"; then + echo " $0: Cannot read input file $INFILE" + exit 1 +fi + +if test -f "$OUTFILE"; then + if test "$INFILE" -ot "$OUTFILE" ; then + printf " Target %15s is up-to-date\n" $OUTFILE + exit 0 + fi +fi +echo " Generating $OUTFILE from $INFILE" +echo $COMMAND | sh -- cgit v1.2.3 From 2cd2431737dd088c4eb957e27aa6a1edb17aa88e Mon Sep 17 00:00:00 2001 From: Juergen Kahrs Date: Sun, 19 May 2013 11:45:18 +0200 Subject: Added more doc dependencies; some of them incomplete. --- cmake/docmaker | 145 ++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 92 insertions(+), 53 deletions(-) (limited to 'cmake/docmaker') diff --git a/cmake/docmaker b/cmake/docmaker index f9a821e9..873d9463 100755 --- a/cmake/docmaker +++ b/cmake/docmaker @@ -1,61 +1,100 @@ #!/bin/sh -# TODO -# Check all dependencies first, then build the target. -# Each target shall be implemented as one function. - -if test $# -lt 1; then +# The first parameter is the target, the file to be built. +# All remaining parameters are dependencies (file names). +if [ $# -lt 1 ] ; then echo " $0: Incorrect number ($#) of parameters passed: $*" fi OUTFILE=$1 -if test $OUTFILE = gawk.texi; then - INFILE=gawktexi.in - COMMAND="awk -f sidebar.awk < gawktexi.in > gawk.texi" -elif test $OUTFILE = gawk.dvi; then - INFILE=gawk.texi - COMMAND="texi2dvi -q --clean gawk.texi" -elif test $OUTFILE = gawkinet.dvi; then - INFILE=gawkinet.texi - COMMAND="texi2dvi -q --clean gawkinet.texi" -elif test $OUTFILE = gawk.1.ps; then - INFILE=gawk.1 - COMMAND="groff -z -man gawk.1 > gawk.1.ps" -elif test $OUTFILE = igawk.1.ps; then - INFILE=igawk.1 - COMMAND="groff -z -man igawk.1 > igawk.1.ps" -elif test $OUTFILE = gawk.1.pdf; then - INFILE=gawk.1.ps - COMMAND="ps2pdf -q gawk.1.ps gawk.1.pdf" -elif test $OUTFILE = igawk.1.pdf; then - INFILE=igawk.1.ps - COMMAND="ps2pdf -q igawk.1.ps igawk.1.pdf" -elif test $OUTFILE = gawk.ps; then - INFILE=gawk.dvi - COMMAND="dvips -q -o gawk.ps gawk.dvi" -elif test $OUTFILE = gawkinet.ps; then - INFILE=gawkinet.dvi - COMMAND="dvips -q -o gawkinet.ps gawkinet.dvi" -elif test $OUTFILE = gawk.pdf; then - INFILE=gawk.ps - COMMAND="ps2pdf -q gawk.ps gawk.pdf" -elif test $OUTFILE = gawkinet.pdf; then - INFILE=gawkinet.ps - COMMAND="ps2pdf -q gawkinet.ps gawkinet.pdf" -else - echo " unknwon target $OUTFILE" - exit 1 -fi +shift 1 +INFILES="$@" -if ! test -r "$INFILE"; then - echo " $0: Cannot read input file $INFILE" - exit 1 -fi +MAKEINFO="makeinfo --no-split --force" +TROFF="groff -t -Tps -U" +SEDME="sed -e \"s/^level0 restore/level0 restore flashme 100 72 moveto (Copyright `date '+%m-%d-%y %T'`, FSF, Inc. (all)) show/\" -e \"s/^\/level0 save def/\/level0 save def 30 -48 translate/\"" +SEDME2="sed '/%%Page: 10 10/,/0 Cg EP/d'" + +function BuildTarget() +{ + local OUTFILE=$1 + local INFILE="" + local COMMAND="" + + FILEBASE=${OUTFILE%.*} + case $OUTFILE in + *\.in | *\.1 | macros | cardfonts | colors | ad.block | setter.outline | \ + gawkinet.texi | rflashlight.eps | api-figure1.fig | api-figure2.fig | api-figure3.fig | \ + general-program.fig | process-flow.fig | statist.eps) + INFILE=$OUTFILE + ;; + *\.texi) + if [ $FILEBASE = gawk ] ; then + INFILE=gawktexi.in + else + INFILE=$OUTFILE.in + fi + COMMAND="awk -f sidebar.awk < $INFILE > $OUTFILE" + ;; + *\.dvi) + INFILE=$FILEBASE.texi + COMMAND="texi2dvi -q --clean $INFILE" + ;; + *\.info) + INFILE=$FILEBASE.texi + COMMAND="${MAKEINFO} $INFILE" + ;; + *\.ps) + if [ $FILEBASE = awkcard ] ; then + INFILE=awkcard.in + COMMAND="${TROFF} $* | ${SEDME} | cat setter.outline - | ${SEDME2} > awkcard.ps" + elif [ $FILEBASE = gawk.1 -o $FILEBASE = igawk.1 ] ; then + INFILE=$FILEBASE + COMMAND="groff -z -man $INFILE > $OUTFILE" + else + INFILE=$FILEBASE.dvi + COMMAND="dvips -q -o $OUTFILE $INFILE" + fi + ;; + *\.pdf) + INFILE=$FILEBASE.ps + COMMAND="ps2pdf -q $INFILE $OUTFILE" + ;; + *\.tr) + INFILE=$FILEBASE.in + COMMAND="sed 's:SRCDIR:.:' < $INFILE > $OUTFILE" + ;; + *\.nc) + INFILE=$FILEBASE.in + COMMAND="sed 's:SRCDIR:.:' < $INFILE > $OUTFILE" + COMMAND="${TROFF} $* | ${SEDME} | cat setter.outline - | ${SEDME2} > $FILEBASE.ps && touch $OUTFILE" + ;; + *) + echo " unknwon target $OUTFILE" + exit 1 + esac -if test -f "$OUTFILE"; then - if test "$INFILE" -ot "$OUTFILE" ; then - printf " Target %15s is up-to-date\n" $OUTFILE - exit 0 + if [ ! -r "$INFILE" ] ; then + echo " $0: Cannot read input file $INFILE" + exit 1 fi -fi -echo " Generating $OUTFILE from $INFILE" -echo $COMMAND | sh + + if [ -f "$OUTFILE" ] ; then + if [ "$INFILE" -ot "$OUTFILE" ] ; then + #printf " Target %15s is up-to-date\n" $OUTFILE + exit 0 + fi + fi + #echo " Generating $OUTFILE from $INFILE" + echo $COMMAND | sh -x + #echo "COMMAND=$COMMAND" +} + +# Build all dependencies first, then build the target. +for dep in $INFILES +do + #echo $OUTFILE depends on $dep + BuildTarget $dep + : +done +BuildTarget $OUTFILE + -- cgit v1.2.3 From 540418bc7d1f84f7f1cdabbc9ccb093447f1c320 Mon Sep 17 00:00:00 2001 From: Juergen Kahrs Date: Sun, 19 May 2013 12:36:51 +0200 Subject: configure script stub as suggested by Arnold. --- cmake/docmaker | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'cmake/docmaker') diff --git a/cmake/docmaker b/cmake/docmaker index 873d9463..4af7cee1 100755 --- a/cmake/docmaker +++ b/cmake/docmaker @@ -4,6 +4,7 @@ # All remaining parameters are dependencies (file names). if [ $# -lt 1 ] ; then echo " $0: Incorrect number ($#) of parameters passed: $*" + exit 1 fi OUTFILE=$1 shift 1 @@ -81,7 +82,7 @@ function BuildTarget() if [ -f "$OUTFILE" ] ; then if [ "$INFILE" -ot "$OUTFILE" ] ; then #printf " Target %15s is up-to-date\n" $OUTFILE - exit 0 + COMMAND="" fi fi #echo " Generating $OUTFILE from $INFILE" @@ -94,7 +95,6 @@ for dep in $INFILES do #echo $OUTFILE depends on $dep BuildTarget $dep - : done BuildTarget $OUTFILE -- cgit v1.2.3