xref: /petsc/systems/Apple/iOS/bin/makedocs (revision 70d20fab0f7095dec0e4fad98077378e4133fa8d)
1*70d20fabSBarry Smith#!/bin/sh
2*70d20fabSBarry Smith#
3*70d20fabSBarry Smith# This script makes a Apple Mac OS X docset for PETSc see ./makeall
4*70d20fabSBarry Smith#
5*70d20fabSBarry Smith#
6*70d20fabSBarry Smithcd ${PETSC_DIR}/${PETSC_ARCH}
7*70d20fabSBarry Smithrm -rf PETSc.docset
8*70d20fabSBarry Smithmkdir PETSc.docset
9*70d20fabSBarry Smithmkdir PETSc.docset/Contents
10*70d20fabSBarry Smithmkdir PETSc.docset/Contents/Resources
11*70d20fabSBarry Smithmkdir PETSc.docset/Contents/Resources/Documents
12*70d20fabSBarry Smithcat <<EOF > PETSc.docset/Contents/Info.plist
13*70d20fabSBarry Smith<?xml version="1.0" encoding="UTF-8"?>
14*70d20fabSBarry Smith<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
15*70d20fabSBarry Smith<plist version="1.0">
16*70d20fabSBarry Smith<dict>
17*70d20fabSBarry Smith        <key>CFBundleName</key>
18*70d20fabSBarry Smith        <string>PETSc Documentation</string>
19*70d20fabSBarry Smith	<key>CFBundleIdentifier</key>
20*70d20fabSBarry Smith	<string>gov.anl.mcs.PETSc.docset</string>
21*70d20fabSBarry Smith        <key>DocSetPublisherIdentifier</key>
22*70d20fabSBarry Smith        <string>gov.anl.mcs.PETSc.documentation</string>
23*70d20fabSBarry Smith        <key>DocSetPublisherName</key>
24*70d20fabSBarry Smith        <string>PETSc</string>
25*70d20fabSBarry Smith</dict>
26*70d20fabSBarry Smith</plist>
27*70d20fabSBarry SmithEOF
28*70d20fabSBarry Smith
29*70d20fabSBarry Smithcat <<EOF > PETSc.docset/Contents/Resources/Nodes.xml
30*70d20fabSBarry Smith<?xml version="1.0" encoding="UTF-8"?>
31*70d20fabSBarry Smith<DocSetNodes version="1.0">
32*70d20fabSBarry Smith    <TOC>
33*70d20fabSBarry Smith        <Node type="file">
34*70d20fabSBarry Smith            <Name>All PETSc manual pages</Name>
35*70d20fabSBarry Smith            <Path>manualpages</Path>
36*70d20fabSBarry Smith            <File>singleindex.html</File>
37*70d20fabSBarry Smith            <Subnodes>
38*70d20fabSBarry Smith                <Node  type="folder">
39*70d20fabSBarry Smith                   <Name>ODE Integrators -- TS</Name>
40*70d20fabSBarry Smith                   <Path>manualpages/TS</Path>
41*70d20fabSBarry Smith                   <File>index.html</File>
42*70d20fabSBarry Smith                </Node>
43*70d20fabSBarry Smith                <Node  type="folder">
44*70d20fabSBarry Smith                   <Name>Nonlinear solvers -- SNES</Name>
45*70d20fabSBarry Smith                   <Path>manualpages/SNES</Path>
46*70d20fabSBarry Smith                   <File>index.html</File>
47*70d20fabSBarry Smith                </Node>
48*70d20fabSBarry Smith                <Node  type="folder">
49*70d20fabSBarry Smith                   <Name>Krylov solvers -- KSP</Name>
50*70d20fabSBarry Smith                   <Path>manualpages/KSP</Path>
51*70d20fabSBarry Smith                   <File>index.html</File>
52*70d20fabSBarry Smith                </Node>
53*70d20fabSBarry Smith                <Node  type="folder">
54*70d20fabSBarry Smith                   <Name>Preconditioners -- PC</Name>
55*70d20fabSBarry Smith                   <Path>manualpages/PC</Path>
56*70d20fabSBarry Smith                   <File>index.html</File>
57*70d20fabSBarry Smith                </Node>
58*70d20fabSBarry Smith               <Node  type="folder">
59*70d20fabSBarry Smith                   <Name>Semi-Lagrange solver</Name>
60*70d20fabSBarry Smith                   <Path>manualpages/SemiLagrange</Path>
61*70d20fabSBarry Smith                   <File>index.html</File>
62*70d20fabSBarry Smith                </Node>
63*70d20fabSBarry Smith               <Node  type="folder">
64*70d20fabSBarry Smith                   <Name>Mesh management -- DM</Name>
65*70d20fabSBarry Smith                   <Path>manualpages/DM</Path>
66*70d20fabSBarry Smith                   <File>index.html</File>
67*70d20fabSBarry Smith                </Node>
68*70d20fabSBarry Smith                <Node  type="folder">
69*70d20fabSBarry Smith                   <Name>Matrices -- Mat</Name>
70*70d20fabSBarry Smith                   <Path>manualpages/Mat</Path>
71*70d20fabSBarry Smith                   <File>index.html</File>
72*70d20fabSBarry Smith                </Node>
73*70d20fabSBarry Smith                <Node  type="folder">
74*70d20fabSBarry Smith                   <Name>Matrix-free operators -- MatFD</Name>
75*70d20fabSBarry Smith                   <Path>manualpages/MatFD</Path>
76*70d20fabSBarry Smith                   <File>index.html</File>
77*70d20fabSBarry Smith                </Node>
78*70d20fabSBarry Smith                <Node  type="folder">
79*70d20fabSBarry Smith                   <Name>Matrix orderings -- MatOrdering</Name>
80*70d20fabSBarry Smith                   <Path>manualpages/MatOrderings</Path>
81*70d20fabSBarry Smith                   <File>index.html</File>
82*70d20fabSBarry Smith                </Node>
83*70d20fabSBarry Smith                <Node  type="folder">
84*70d20fabSBarry Smith                   <Name>Vectors -- Vec</Name>
85*70d20fabSBarry Smith                   <Path>manualpages/Vec</Path>
86*70d20fabSBarry Smith                   <File>index.html</File>
87*70d20fabSBarry Smith                </Node>
88*70d20fabSBarry Smith                <Node  type="folder">
89*70d20fabSBarry Smith                   <Name>Indexing -- IS</Name>
90*70d20fabSBarry Smith                   <Path>manualpages/IS</Path>
91*70d20fabSBarry Smith                   <File>index.html</File>
92*70d20fabSBarry Smith                </Node>
93*70d20fabSBarry Smith               <Node  type="folder">
94*70d20fabSBarry Smith                   <Name>Numbering/Reordering -- AO</Name>
95*70d20fabSBarry Smith                   <Path>manualpages/AO</Path>
96*70d20fabSBarry Smith                   <File>index.html</File>
97*70d20fabSBarry Smith                </Node>
98*70d20fabSBarry Smith                <Node  type="folder">
99*70d20fabSBarry Smith                   <Name>Viewers -- PetscViewer</Name>
100*70d20fabSBarry Smith                   <Path>manualpages/Viewer</Path>
101*70d20fabSBarry Smith                   <File>index.html</File>
102*70d20fabSBarry Smith                </Node>
103*70d20fabSBarry Smith                <Node  type="folder">
104*70d20fabSBarry Smith                   <Name>Profiling -- PetscLog</Name>
105*70d20fabSBarry Smith                   <Path>manualpages/Profiling</Path>
106*70d20fabSBarry Smith                   <File>index.html</File>
107*70d20fabSBarry Smith                </Node>
108*70d20fabSBarry Smith                <Node  type="folder">
109*70d20fabSBarry Smith                   <Name>Utilities -- Sys</Name>
110*70d20fabSBarry Smith                   <Path>manualpages/Sys</Path>
111*70d20fabSBarry Smith                   <File>index.html</File>
112*70d20fabSBarry Smith                </Node>
113*70d20fabSBarry Smith                <Node  type="folder">
114*70d20fabSBarry Smith                   <Name>Thread parallelism -- PetscThreadComm</Name>
115*70d20fabSBarry Smith                   <Path>manualpages/PetscThreadComm</Path>
116*70d20fabSBarry Smith                   <File>index.html</File>
117*70d20fabSBarry Smith                </Node>
118*70d20fabSBarry Smith                <Node  type="folder">
119*70d20fabSBarry Smith                   <Name>Low-level communication -- PetscSF</Name>
120*70d20fabSBarry Smith                   <Path>manualpages/PetscSF</Path>
121*70d20fabSBarry Smith                   <File>index.html</File>
122*70d20fabSBarry Smith                </Node>
123*70d20fabSBarry Smith                <Node  type="folder">
124*70d20fabSBarry Smith                   <Name>Graphics -- PetscDraw</Name>
125*70d20fabSBarry Smith                   <Path>manualpages/Draw</Path>
126*70d20fabSBarry Smith                   <File>index.html</File>
127*70d20fabSBarry Smith                </Node>
128*70d20fabSBarry Smith                <Node  type="folder">
129*70d20fabSBarry Smith                   <Name>PF</Name>
130*70d20fabSBarry Smith                   <Path>manualpages/PF</Path>
131*70d20fabSBarry Smith                   <File>index.html</File>
132*70d20fabSBarry Smith                </Node>
133*70d20fabSBarry Smith            </Subnodes>
134*70d20fabSBarry Smith        </Node>
135*70d20fabSBarry Smith    </TOC>
136*70d20fabSBarry Smith</DocSetNodes>
137*70d20fabSBarry SmithEOF
138*70d20fabSBarry Smith
139*70d20fabSBarry Smithcat <<EOF > PETSc.docset/Contents/Resources/Tokens.xml
140*70d20fabSBarry Smith<?xml version="1.0" encoding="UTF-8"?>
141*70d20fabSBarry Smith<Tokens version="1.0">
142*70d20fabSBarry SmithEOF
143*70d20fabSBarry Smith
144*70d20fabSBarry Smithcd ${LOC}/docs
145*70d20fabSBarry Smithfor i in manualpages/*/*.html; do
146*70d20fabSBarry Smith  symbol=`echo $i | sed s?manualpages/[A-Za-z]*/??g | sed s?.html??g`
147*70d20fabSBarry Smith  if [ ${symbol} != "index" ]; then
148*70d20fabSBarry Smith    echo \<Token\> \<TokenIdentifier\>//apple_ref/c/func/${symbol}\</TokenIdentifier\>\<Path\>${i}\</Path\>\</Token\> >> ${PETSC_DIR}/${PETSC_ARCH}/PETSc.docset/Contents/Resources/Tokens.xml
149*70d20fabSBarry Smith  fi;
150*70d20fabSBarry Smithdone
151*70d20fabSBarry Smith
152*70d20fabSBarry Smithcd ${PETSC_DIR}/${PETSC_ARCH}
153*70d20fabSBarry Smith
154*70d20fabSBarry Smithcat <<EOF >> PETSc.docset/Contents/Resources/Tokens.xml
155*70d20fabSBarry Smith</Tokens>
156*70d20fabSBarry SmithEOF
157*70d20fabSBarry Smith
158*70d20fabSBarry Smithcp -r ${LOC}/docs/manualpages PETSc.docset/Contents/Resources/Documents
159*70d20fabSBarry Smith
160*70d20fabSBarry Smith/Applications/Xcode.app/Contents/Developer/usr/bin/docsetutil index -debug -verbose   PETSc.docset
161*70d20fabSBarry Smith
162*70d20fabSBarry Smith
163