xref: /petsc/systems/Apple/OSX/bin/makedocs (revision e1b06f76ad35ce2a89fc667d1feb3b2de35f6e0a)
140dfd57bSBarry Smith#!/bin/sh
240dfd57bSBarry Smith#
3409736cdSBarry Smith# This script makes a Apple Mac OS X docset for PETSc see ./makeall
440dfd57bSBarry Smith#
540dfd57bSBarry Smith#
6*d9dc08c3SBarry Smithcd ${PETSC_DIR}
7a211788bSBarry Smithrm -rf PETSc.docset
840dfd57bSBarry Smithmkdir PETSc.docset
940dfd57bSBarry Smithmkdir PETSc.docset/Contents
1040dfd57bSBarry Smithmkdir PETSc.docset/Contents/Resources
1140dfd57bSBarry Smithmkdir PETSc.docset/Contents/Resources/Documents
1240dfd57bSBarry Smithcat <<EOF > PETSc.docset/Contents/Info.plist
1340dfd57bSBarry Smith<?xml version="1.0" encoding="UTF-8"?>
1440dfd57bSBarry Smith<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
1540dfd57bSBarry Smith<plist version="1.0">
1640dfd57bSBarry Smith<dict>
1740dfd57bSBarry Smith        <key>CFBundleName</key>
1840dfd57bSBarry Smith        <string>PETSc Documentation</string>
1940dfd57bSBarry Smith	<key>CFBundleIdentifier</key>
2040dfd57bSBarry Smith	<string>gov.anl.mcs.PETSc.docset</string>
2140dfd57bSBarry Smith        <key>DocSetPublisherIdentifier</key>
2240dfd57bSBarry Smith        <string>gov.anl.mcs.PETSc.documentation</string>
2340dfd57bSBarry Smith        <key>DocSetPublisherName</key>
2440dfd57bSBarry Smith        <string>PETSc</string>
2540dfd57bSBarry Smith</dict>
2640dfd57bSBarry Smith</plist>
2740dfd57bSBarry SmithEOF
2840dfd57bSBarry Smith
291b45c02dSBarry Smithcat <<EOF > PETSc.docset/Contents/Resources/Nodes.xml
3040dfd57bSBarry Smith<?xml version="1.0" encoding="UTF-8"?>
3140dfd57bSBarry Smith<DocSetNodes version="1.0">
3240dfd57bSBarry Smith    <TOC>
331b45c02dSBarry Smith        <Node type="file">
3440dfd57bSBarry Smith            <Name>All PETSc manual pages</Name>
351b45c02dSBarry Smith            <Path>manualpages</Path>
361b45c02dSBarry Smith            <File>singleindex.html</File>
37bacb9532SBarry Smith            <Subnodes>
38bacb9532SBarry Smith                <Node  type="folder">
39bacb9532SBarry Smith                   <Name>ODE Integrators -- TS</Name>
40bacb9532SBarry Smith                   <Path>manualpages/TS</Path>
41bacb9532SBarry Smith                   <File>index.html</File>
42bacb9532SBarry Smith                </Node>
43bacb9532SBarry Smith                <Node  type="folder">
44bacb9532SBarry Smith                   <Name>Nonlinear solvers -- SNES</Name>
45bacb9532SBarry Smith                   <Path>manualpages/SNES</Path>
46bacb9532SBarry Smith                   <File>index.html</File>
47bacb9532SBarry Smith                </Node>
48bacb9532SBarry Smith                <Node  type="folder">
49bacb9532SBarry Smith                   <Name>Krylov solvers -- KSP</Name>
50bacb9532SBarry Smith                   <Path>manualpages/KSP</Path>
51bacb9532SBarry Smith                   <File>index.html</File>
52bacb9532SBarry Smith                </Node>
53bacb9532SBarry Smith                <Node  type="folder">
54bacb9532SBarry Smith                   <Name>Preconditioners -- PC</Name>
55bacb9532SBarry Smith                   <Path>manualpages/PC</Path>
56bacb9532SBarry Smith                   <File>index.html</File>
57bacb9532SBarry Smith                </Node>
58bacb9532SBarry Smith               <Node  type="folder">
59bacb9532SBarry Smith                   <Name>Semi-Lagrange solver</Name>
60bacb9532SBarry Smith                   <Path>manualpages/SemiLagrange</Path>
61bacb9532SBarry Smith                   <File>index.html</File>
62bacb9532SBarry Smith                </Node>
63bacb9532SBarry Smith               <Node  type="folder">
64bacb9532SBarry Smith                   <Name>Mesh management -- DM</Name>
65bacb9532SBarry Smith                   <Path>manualpages/DM</Path>
66bacb9532SBarry Smith                   <File>index.html</File>
67bacb9532SBarry Smith                </Node>
68bacb9532SBarry Smith                <Node  type="folder">
69bacb9532SBarry Smith                   <Name>Matrices -- Mat</Name>
70bacb9532SBarry Smith                   <Path>manualpages/Mat</Path>
71bacb9532SBarry Smith                   <File>index.html</File>
72bacb9532SBarry Smith                </Node>
73bacb9532SBarry Smith                <Node  type="folder">
74bacb9532SBarry Smith                   <Name>Matrix-free operators -- MatFD</Name>
75bacb9532SBarry Smith                   <Path>manualpages/MatFD</Path>
76bacb9532SBarry Smith                   <File>index.html</File>
77bacb9532SBarry Smith                </Node>
78bacb9532SBarry Smith                <Node  type="folder">
79bacb9532SBarry Smith                   <Name>Matrix orderings -- MatOrdering</Name>
80bacb9532SBarry Smith                   <Path>manualpages/MatOrderings</Path>
81bacb9532SBarry Smith                   <File>index.html</File>
82bacb9532SBarry Smith                </Node>
83bacb9532SBarry Smith                <Node  type="folder">
84bacb9532SBarry Smith                   <Name>Vectors -- Vec</Name>
85bacb9532SBarry Smith                   <Path>manualpages/Vec</Path>
86bacb9532SBarry Smith                   <File>index.html</File>
87bacb9532SBarry Smith                </Node>
88bacb9532SBarry Smith                <Node  type="folder">
89bacb9532SBarry Smith                   <Name>Indexing -- IS</Name>
90bacb9532SBarry Smith                   <Path>manualpages/IS</Path>
91bacb9532SBarry Smith                   <File>index.html</File>
92bacb9532SBarry Smith                </Node>
93bacb9532SBarry Smith               <Node  type="folder">
94bacb9532SBarry Smith                   <Name>Numbering/Reordering -- AO</Name>
95bacb9532SBarry Smith                   <Path>manualpages/AO</Path>
96bacb9532SBarry Smith                   <File>index.html</File>
97bacb9532SBarry Smith                </Node>
98bacb9532SBarry Smith                <Node  type="folder">
99bacb9532SBarry Smith                   <Name>Viewers -- PetscViewer</Name>
100bacb9532SBarry Smith                   <Path>manualpages/Viewer</Path>
101bacb9532SBarry Smith                   <File>index.html</File>
102bacb9532SBarry Smith                </Node>
103bacb9532SBarry Smith                <Node  type="folder">
104bacb9532SBarry Smith                   <Name>Profiling -- PetscLog</Name>
105bacb9532SBarry Smith                   <Path>manualpages/Profiling</Path>
106bacb9532SBarry Smith                   <File>index.html</File>
107bacb9532SBarry Smith                </Node>
108bacb9532SBarry Smith                <Node  type="folder">
109bacb9532SBarry Smith                   <Name>Utilities -- Sys</Name>
110bacb9532SBarry Smith                   <Path>manualpages/Sys</Path>
111bacb9532SBarry Smith                   <File>index.html</File>
112bacb9532SBarry Smith                </Node>
113bacb9532SBarry Smith                <Node  type="folder">
114bacb9532SBarry Smith                   <Name>Thread parallelism -- PetscThreadComm</Name>
115bacb9532SBarry Smith                   <Path>manualpages/PetscThreadComm</Path>
116bacb9532SBarry Smith                   <File>index.html</File>
117bacb9532SBarry Smith                </Node>
118bacb9532SBarry Smith                <Node  type="folder">
119bacb9532SBarry Smith                   <Name>Low-level communication -- PetscSF</Name>
120bacb9532SBarry Smith                   <Path>manualpages/PetscSF</Path>
121bacb9532SBarry Smith                   <File>index.html</File>
122bacb9532SBarry Smith                </Node>
123bacb9532SBarry Smith                <Node  type="folder">
124bacb9532SBarry Smith                   <Name>Graphics -- PetscDraw</Name>
125bacb9532SBarry Smith                   <Path>manualpages/Draw</Path>
126bacb9532SBarry Smith                   <File>index.html</File>
127bacb9532SBarry Smith                </Node>
128bacb9532SBarry Smith                <Node  type="folder">
129bacb9532SBarry Smith                   <Name>PF</Name>
130bacb9532SBarry Smith                   <Path>manualpages/PF</Path>
131bacb9532SBarry Smith                   <File>index.html</File>
132bacb9532SBarry Smith                </Node>
133bacb9532SBarry Smith            </Subnodes>
13440dfd57bSBarry Smith        </Node>
13540dfd57bSBarry Smith    </TOC>
13640dfd57bSBarry Smith</DocSetNodes>
13740dfd57bSBarry SmithEOF
13840dfd57bSBarry Smith
139bacb9532SBarry Smithcat <<EOF > PETSc.docset/Contents/Resources/Tokens.xml
140bacb9532SBarry Smith<?xml version="1.0" encoding="UTF-8"?>
141bacb9532SBarry Smith<Tokens version="1.0">
142bacb9532SBarry SmithEOF
143bacb9532SBarry Smith
144bacb9532SBarry Smithcd ${LOC}/docs
145bacb9532SBarry Smithfor i in manualpages/*/*.html; do
146bacb9532SBarry Smith  symbol=`echo $i | sed s?manualpages/[A-Za-z]*/??g | sed s?.html??g`
147bacb9532SBarry 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
149bacb9532SBarry Smith  fi;
150bacb9532SBarry Smithdone
151bacb9532SBarry Smith
152*d9dc08c3SBarry Smithcd ${PETSC_DIR}
153bacb9532SBarry Smith
154bacb9532SBarry Smithcat <<EOF >> PETSc.docset/Contents/Resources/Tokens.xml
155bacb9532SBarry Smith</Tokens>
156bacb9532SBarry SmithEOF
157bacb9532SBarry Smith
15840dfd57bSBarry Smithcp -r ${LOC}/docs/manualpages PETSc.docset/Contents/Resources/Documents
15940dfd57bSBarry Smith
160bacb9532SBarry Smith/Applications/Xcode.app/Contents/Developer/usr/bin/docsetutil index -debug -verbose   PETSc.docset
16140dfd57bSBarry Smith
16240dfd57bSBarry Smith
163