summaryrefslogtreecommitdiff
path: root/src/haddock/haddock-script.csh
blob: 57248faea214d4d836c0862a3f94ccc944ba1ddd (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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/bin/tcsh

######################################################################
# Author: Peter Ljunglöf
# Time-stamp: "2005-02-03, 16:21"
# CVS $Date: 2005/02/03 15:23:02 $
# CVS $Author: peb $
#
# a script for producing documentation through Haddock
######################################################################

set base = `pwd`
set docdir = $base/haddock
set resourcedir = $base/haddock-resources

set dirs = (. api compile grammar infra shell source canonical useGrammar cf newparsing parsers notrace cfgm speech visualization for-ghc)
set rmfiles = {Lex,Par}{CFG,GF,GFC}.hs

######################################################################

echo 0. Creating and cleaning Haddock directory

if (-d $docdir) then
    rm $docdir/*
else
    mkdir $docdir
endif

######################################################################

echo
echo 1. Selecting and copying Haskell files 

foreach d ($dirs) 
    echo -- Directory: $d
    cd $base/$d
    foreach f (*.hs) 
	tr "\240" " " < $f > $docdir/$f
    end
end

######################################################################

echo
echo 2. Removing unnecessary files

cd $docdir
echo -- `ls $rmfiles`
rm $rmfiles

######################################################################

echo
echo 3. Invoking Haddock

cd $docdir
haddock -h -t 'Grammatical Framework' *.hs

######################################################################

echo
echo 4. Restructuring to HTML framesets

cd $docdir
echo -- Substituting for frame targets inside html files
mv index.html index-frame.html
foreach f (*.html) 
    perl -pe 's/<HEAD/<HEAD><BASE TARGET="contents"/; s/"index.html"/"index-frame.html"/; s/(<A HREF = "\S*index\S*.html")/$1 TARGET="index"/' $f > tempfile
    mv tempfile $f
end

cd $resourcedir
echo -- Copying resource files:
echo -- `ls`
cp * $docdir

######################################################################

echo
echo 5. Finished
echo -- The documentation is located at:
echo -- $docdir/index.html

cd $base