OSDN Git Service

Update to git@github.com:monaka/binutils.git
[pf3gnuchains/pf3gnuchains4x.git] / cgen / gen-all-doc
1 #! /bin/sh
2 # Utility script to generate html docs for all ports.
3
4 # Run this script in the src/cgen directory.
5
6 # Exit on any error.
7 set -e
8
9 # For debugging.
10 set -x
11
12 # ??? Some are missing, need to add them after some research.
13 #../cpu/m32c.cpu
14 #../cpu/xc16x.cpu
15 archs="
16 cpu/fr30.cpu
17 cpu/arm.cpu
18 ../cpu/frv.cpu
19 cpu/i960.cpu
20 cpu/ip2k.cpu
21 ../cpu/iq2000.cpu
22 ../cpu/lm32.cpu
23 ../cpu/m32r.cpu
24 cpu/mep.cpu
25 ../cpu/mt.cpu
26 cpu/openrisc.cpu
27 cpu/sh.cpu
28 cpu/xstormy16.cpu
29 "
30
31 if [ ! -f sim.scm ]
32 then
33     echo "Not in the src/cgen directory." >& 2
34     exit 1
35 fi
36
37 export builddir=tmp-doc
38
39 rm -rf $builddir
40 mkdir $builddir
41
42 export cgendir=`pwd`
43
44 (
45   set -e
46   set -x
47   cd $builddir
48   $cgendir/configure --prefix /tmp/junk --target m32r-elf
49
50   for a in $archs
51   do
52     archfile=../$a
53     arch=$(basename $archfile .cpu)
54
55     case $arch in
56     arm)
57       make html ARCH=$arch ARCHFILE=$archfile ISAS=arm INSN_FILE_NAME=arm-arm-insn.html
58       mv arm.html arm-arm.html
59       mv arm-insn.html arm-arm-insn.html
60       make html ARCH=$arch ARCHFILE=$archfile ISAS=thumb INSN_FILE_NAME=arm-thumb-insn.html
61       mv arm.html arm-thumb.html
62       mv arm-insn.html arm-thumb-insn.html
63       ;;
64     frv)
65       make html ARCH=$arch ARCHFILE=$archfile MACHS="frv,simple,tomcat,fr400" INSN_FILE_NAME=frv-1-insn.html
66       mv frv.html frv-1.html
67       mv frv-insn.html frv-1-insn.html
68       make html ARCH=$arch ARCHFILE=$archfile MACHS="fr500" INSN_FILE_NAME=frv-2-insn.html
69       mv frv.html frv-2.html
70       mv frv-insn.html frv-2-insn.html
71       make html ARCH=$arch ARCHFILE=$archfile MACHS="fr550" INSN_FILE_NAME=frv-3-insn.html
72       mv frv.html frv-3.html
73       mv frv-insn.html frv-3-insn.html
74       ;;
75     *)
76       make html ARCH=$arch ARCHFILE=$archfile
77       ;;
78     esac
79   done
80 )
81
82 (
83   set -e
84   set -x
85   cd $builddir
86
87   rm -f index.html
88
89   cat > index.html <<EOF
90 <html>
91 <head>
92 <title>CGEN Machine Generated Documentation</title>
93 </head>
94 <body>
95
96 <h1>Machine Generated Documentation</h1>
97
98 <ul>
99 EOF
100
101   lower="abcdefghijklmnopqrstuvwxyz"
102   upper="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
103
104   for html in *.html
105   do
106     name=""
107
108     case $html in
109     *-insn.html) ;;
110     index.html) ;;
111     arm-arm.*) name="ARM" ;;
112     arm-thumb.*) name="ARM Thumb" ;;
113     frv-1.*) name="FRV FR400" ;;
114     frv-2.*) name="FRV FR500" ;;
115     openrisc.*) name="Openrisc" ;;
116     xstormy16.*) name="Xstormy16" ;;
117     *) name=`echo ${html/.html} | tr $lower $upper` ;;
118     esac
119
120     if [ "$name" != "" ]
121     then
122       echo "<li><a href=\"$html\">$name</a>" >> index.html
123     fi
124   done
125
126   cat >> index.html <<EOF
127 </ul>
128
129 </body>
130 </html>
131 EOF
132 )