xref: /petsc/systems/Apple/iOS/bin/makedocs (revision e1b06f76ad35ce2a89fc667d1feb3b2de35f6e0a)
170d20fabSBarry Smith#!/bin/sh
270d20fabSBarry Smith#
370d20fabSBarry Smith# This script makes a Apple Mac OS X docset for PETSc see ./makeall
470d20fabSBarry Smith#
570d20fabSBarry Smith#
6*d9dc08c3SBarry Smithcd ${PETSC_DIR}
770d20fabSBarry Smithrm -rf PETSc.docset
870d20fabSBarry Smithmkdir PETSc.docset
970d20fabSBarry Smithmkdir PETSc.docset/Contents
1070d20fabSBarry Smithmkdir PETSc.docset/Contents/Resources
1170d20fabSBarry Smithmkdir PETSc.docset/Contents/Resources/Documents
1270d20fabSBarry Smithcat <<EOF > PETSc.docset/Contents/Info.plist
1370d20fabSBarry Smith<?xml version="1.0" encoding="UTF-8"?>
1470d20fabSBarry Smith<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
1570d20fabSBarry Smith<plist version="1.0">
1670d20fabSBarry Smith<dict>
1770d20fabSBarry Smith        <key>CFBundleName</key>
1870d20fabSBarry Smith        <string>PETSc Documentation</string>
1970d20fabSBarry Smith	<key>CFBundleIdentifier</key>
2070d20fabSBarry Smith	<string>gov.anl.mcs.PETSc.docset</string>
2170d20fabSBarry Smith        <key>DocSetPublisherIdentifier</key>
2270d20fabSBarry Smith        <string>gov.anl.mcs.PETSc.documentation</string>
2370d20fabSBarry Smith        <key>DocSetPublisherName</key>
2470d20fabSBarry Smith        <string>PETSc</string>
2570d20fabSBarry Smith</dict>
2670d20fabSBarry Smith</plist>
2770d20fabSBarry SmithEOF
2870d20fabSBarry Smith
2970d20fabSBarry Smithcat <<EOF > PETSc.docset/Contents/Resources/Nodes.xml
3070d20fabSBarry Smith<?xml version="1.0" encoding="UTF-8"?>
3170d20fabSBarry Smith<DocSetNodes version="1.0">
3270d20fabSBarry Smith    <TOC>
3370d20fabSBarry Smith        <Node type="file">
3470d20fabSBarry Smith            <Name>All PETSc manual pages</Name>
3570d20fabSBarry Smith            <Path>manualpages</Path>
3670d20fabSBarry Smith            <File>singleindex.html</File>
3770d20fabSBarry Smith            <Subnodes>
3870d20fabSBarry Smith                <Node  type="folder">
3970d20fabSBarry Smith                   <Name>ODE Integrators -- TS</Name>
4070d20fabSBarry Smith                   <Path>manualpages/TS</Path>
4170d20fabSBarry Smith                   <File>index.html</File>
4270d20fabSBarry Smith                </Node>
4370d20fabSBarry Smith                <Node  type="folder">
4470d20fabSBarry Smith                   <Name>Nonlinear solvers -- SNES</Name>
4570d20fabSBarry Smith                   <Path>manualpages/SNES</Path>
4670d20fabSBarry Smith                   <File>index.html</File>
4770d20fabSBarry Smith                </Node>
4870d20fabSBarry Smith                <Node  type="folder">
4970d20fabSBarry Smith                   <Name>Krylov solvers -- KSP</Name>
5070d20fabSBarry Smith                   <Path>manualpages/KSP</Path>
5170d20fabSBarry Smith                   <File>index.html</File>
5270d20fabSBarry Smith                </Node>
5370d20fabSBarry Smith                <Node  type="folder">
5470d20fabSBarry Smith                   <Name>Preconditioners -- PC</Name>
5570d20fabSBarry Smith                   <Path>manualpages/PC</Path>
5670d20fabSBarry Smith                   <File>index.html</File>
5770d20fabSBarry Smith                </Node>
5870d20fabSBarry Smith               <Node  type="folder">
5970d20fabSBarry Smith                   <Name>Semi-Lagrange solver</Name>
6070d20fabSBarry Smith                   <Path>manualpages/SemiLagrange</Path>
6170d20fabSBarry Smith                   <File>index.html</File>
6270d20fabSBarry Smith                </Node>
6370d20fabSBarry Smith               <Node  type="folder">
6470d20fabSBarry Smith                   <Name>Mesh management -- DM</Name>
6570d20fabSBarry Smith                   <Path>manualpages/DM</Path>
6670d20fabSBarry Smith                   <File>index.html</File>
6770d20fabSBarry Smith                </Node>
6870d20fabSBarry Smith                <Node  type="folder">
6970d20fabSBarry Smith                   <Name>Matrices -- Mat</Name>
7070d20fabSBarry Smith                   <Path>manualpages/Mat</Path>
7170d20fabSBarry Smith                   <File>index.html</File>
7270d20fabSBarry Smith                </Node>
7370d20fabSBarry Smith                <Node  type="folder">
7470d20fabSBarry Smith                   <Name>Matrix-free operators -- MatFD</Name>
7570d20fabSBarry Smith                   <Path>manualpages/MatFD</Path>
7670d20fabSBarry Smith                   <File>index.html</File>
7770d20fabSBarry Smith                </Node>
7870d20fabSBarry Smith                <Node  type="folder">
7970d20fabSBarry Smith                   <Name>Matrix orderings -- MatOrdering</Name>
8070d20fabSBarry Smith                   <Path>manualpages/MatOrderings</Path>
8170d20fabSBarry Smith                   <File>index.html</File>
8270d20fabSBarry Smith                </Node>
8370d20fabSBarry Smith                <Node  type="folder">
8470d20fabSBarry Smith                   <Name>Vectors -- Vec</Name>
8570d20fabSBarry Smith                   <Path>manualpages/Vec</Path>
8670d20fabSBarry Smith                   <File>index.html</File>
8770d20fabSBarry Smith                </Node>
8870d20fabSBarry Smith                <Node  type="folder">
8970d20fabSBarry Smith                   <Name>Indexing -- IS</Name>
9070d20fabSBarry Smith                   <Path>manualpages/IS</Path>
9170d20fabSBarry Smith                   <File>index.html</File>
9270d20fabSBarry Smith                </Node>
9370d20fabSBarry Smith               <Node  type="folder">
9470d20fabSBarry Smith                   <Name>Numbering/Reordering -- AO</Name>
9570d20fabSBarry Smith                   <Path>manualpages/AO</Path>
9670d20fabSBarry Smith                   <File>index.html</File>
9770d20fabSBarry Smith                </Node>
9870d20fabSBarry Smith                <Node  type="folder">
9970d20fabSBarry Smith                   <Name>Viewers -- PetscViewer</Name>
10070d20fabSBarry Smith                   <Path>manualpages/Viewer</Path>
10170d20fabSBarry Smith                   <File>index.html</File>
10270d20fabSBarry Smith                </Node>
10370d20fabSBarry Smith                <Node  type="folder">
10470d20fabSBarry Smith                   <Name>Profiling -- PetscLog</Name>
10570d20fabSBarry Smith                   <Path>manualpages/Profiling</Path>
10670d20fabSBarry Smith                   <File>index.html</File>
10770d20fabSBarry Smith                </Node>
10870d20fabSBarry Smith                <Node  type="folder">
10970d20fabSBarry Smith                   <Name>Utilities -- Sys</Name>
11070d20fabSBarry Smith                   <Path>manualpages/Sys</Path>
11170d20fabSBarry Smith                   <File>index.html</File>
11270d20fabSBarry Smith                </Node>
11370d20fabSBarry Smith                <Node  type="folder">
11470d20fabSBarry Smith                   <Name>Thread parallelism -- PetscThreadComm</Name>
11570d20fabSBarry Smith                   <Path>manualpages/PetscThreadComm</Path>
11670d20fabSBarry Smith                   <File>index.html</File>
11770d20fabSBarry Smith                </Node>
11870d20fabSBarry Smith                <Node  type="folder">
11970d20fabSBarry Smith                   <Name>Low-level communication -- PetscSF</Name>
12070d20fabSBarry Smith                   <Path>manualpages/PetscSF</Path>
12170d20fabSBarry Smith                   <File>index.html</File>
12270d20fabSBarry Smith                </Node>
12370d20fabSBarry Smith                <Node  type="folder">
12470d20fabSBarry Smith                   <Name>Graphics -- PetscDraw</Name>
12570d20fabSBarry Smith                   <Path>manualpages/Draw</Path>
12670d20fabSBarry Smith                   <File>index.html</File>
12770d20fabSBarry Smith                </Node>
12870d20fabSBarry Smith                <Node  type="folder">
12970d20fabSBarry Smith                   <Name>PF</Name>
13070d20fabSBarry Smith                   <Path>manualpages/PF</Path>
13170d20fabSBarry Smith                   <File>index.html</File>
13270d20fabSBarry Smith                </Node>
13370d20fabSBarry Smith            </Subnodes>
13470d20fabSBarry Smith        </Node>
13570d20fabSBarry Smith    </TOC>
13670d20fabSBarry Smith</DocSetNodes>
13770d20fabSBarry SmithEOF
13870d20fabSBarry Smith
13970d20fabSBarry Smithcat <<EOF > PETSc.docset/Contents/Resources/Tokens.xml
14070d20fabSBarry Smith<?xml version="1.0" encoding="UTF-8"?>
14170d20fabSBarry Smith<Tokens version="1.0">
14270d20fabSBarry SmithEOF
14370d20fabSBarry Smith
14470d20fabSBarry Smithcd ${LOC}/docs
14570d20fabSBarry Smithfor i in manualpages/*/*.html; do
14670d20fabSBarry Smith  symbol=`echo $i | sed s?manualpages/[A-Za-z]*/??g | sed s?.html??g`
14770d20fabSBarry Smith  if [ ${symbol} != "index" ]; then
148*d9dc08c3SBarry Smith    echo \<Token\> \<TokenIdentifier\>//apple_ref/c/func/${symbol}\</TokenIdentifier\>\<Path\>${i}\</Path\>\</Token\> >> ${PETSC_DIR}/PETSc.docset/Contents/Resources/Tokens.xml
14970d20fabSBarry Smith  fi;
15070d20fabSBarry Smithdone
15170d20fabSBarry Smith
152*d9dc08c3SBarry Smithcd ${PETSC_DIR}
15370d20fabSBarry Smith
15470d20fabSBarry Smithcat <<EOF >> PETSc.docset/Contents/Resources/Tokens.xml
15570d20fabSBarry Smith</Tokens>
15670d20fabSBarry SmithEOF
15770d20fabSBarry Smith
15870d20fabSBarry Smithcp -r ${LOC}/docs/manualpages PETSc.docset/Contents/Resources/Documents
15970d20fabSBarry Smith
16070d20fabSBarry Smith/Applications/Xcode.app/Contents/Developer/usr/bin/docsetutil index -debug -verbose   PETSc.docset
16170d20fabSBarry Smith
16270d20fabSBarry Smith
163