summaryrefslogtreecommitdiff
path: root/lib/sbin/ThornDoc
blob: eaaabff454d0c9d39308cd86e5df1adff208a146 (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
45
46
47
#! /bin/sh
# Create all thorn documentations
# (C) 2003/05/24 Erik Schnetter <schnetter@uni-tuebingen.de>
# $Header: /mnt/data2/cvs2svn/cvs-repositories/Cactus/lib/sbin/ThornDoc,v 1.5 2009-11-11 22:32:53 schnetter Exp $

echo "Creating thorn documentations..."

# Selected thorn; process all thorns if this is empty
selection="$1"

abspath=$PWD

for arr in `cd arrangements; echo *`; do
    if test -d arrangements/$arr; then
        for th in `cd arrangements/$arr; echo *`; do
            if test -d arrangements/$arr/$th; then
                if test -z "$selection" || test "$th" = "$selection"; then
                    if test -e arrangements/$arr/$th/doc/documentation.tex; then
                        echo "  Processing thorn $arr/$th..."
                        
                        mkdir doc/ThornDoc 2> /dev/null
                        mkdir doc/ThornDoc/$arr 2> /dev/null
                        mkdir doc/ThornDoc/$arr/$th 2> /dev/null
                        (
                            cd doc/ThornDoc/$arr/$th
                            rm -f documentation.tex documentation.pdf
                            path=$abspath/arrangements/$arr/$th/doc
                            < $path/documentation.tex sed -e 's+\(\\includegraphics.*\){ *\(.*\) *}+\1{'"$path"'/\2}+g' |
                            sed -e 's+\(\\input *\)\(.*\)+\1'"$path"'/\2+g' > documentation.tex
                            
                            {
                                pdflatex documentation < /dev/null > LATEX_MESSAGES 2>&1
                                pdflatex documentation < /dev/null > LATEX_MESSAGES 2>&1
                                pdflatex documentation < /dev/null > LATEX_MESSAGES 2>&1
                            } ||
                            echo "    ERROR: Could not create documentation (check for latex errors)"
                        )
                        
                    fi          # if thorn has documentation
                fi              # if thorn is enabled
            fi
        done                    # for thorns
    fi
done                            # for arrangements

echo "  Created thorn documentations in doc/ThornDoc directory."
echo "  Done."