140dfd57bSBarry Smith#!/bin/sh 240dfd57bSBarry Smith# 340dfd57bSBarry Smith# This script adds documentation to the Apple Mac OS X framework for PETSc created with makeframework 440dfd57bSBarry Smith# 540dfd57bSBarry Smith#After running makeframework and generating the PETSc documention then just run this script 640dfd57bSBarry Smith# 3) you can also use the framework inside Xcode by simply indicating the targets dependence on the PETSc framework 740dfd57bSBarry Smith# 840dfd57bSBarry Smith# 9a211788bSBarry Smithcd ${PETSC_DIR}/${PETSC_ARCH} 10a211788bSBarry Smithrm -rf PETSc.docset 1140dfd57bSBarry Smithmkdir PETSc.docset 1240dfd57bSBarry Smithmkdir PETSc.docset/Contents 1340dfd57bSBarry Smithmkdir PETSc.docset/Contents/Resources 1440dfd57bSBarry Smithmkdir PETSc.docset/Contents/Resources/Documents 1540dfd57bSBarry Smithcat <<EOF > PETSc.docset/Contents/Info.plist 1640dfd57bSBarry Smith<?xml version="1.0" encoding="UTF-8"?> 1740dfd57bSBarry Smith<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 1840dfd57bSBarry Smith<plist version="1.0"> 1940dfd57bSBarry Smith<dict> 2040dfd57bSBarry Smith <key>CFBundleName</key> 2140dfd57bSBarry Smith <string>PETSc Documentation</string> 2240dfd57bSBarry Smith <key>CFBundleIdentifier</key> 2340dfd57bSBarry Smith <string>gov.anl.mcs.PETSc.docset</string> 2440dfd57bSBarry Smith <key>DocSetPublisherIdentifier</key> 2540dfd57bSBarry Smith <string>gov.anl.mcs.PETSc.documentation</string> 2640dfd57bSBarry Smith <key>DocSetPublisherName</key> 2740dfd57bSBarry Smith <string>PETSc</string> 2840dfd57bSBarry Smith</dict> 2940dfd57bSBarry Smith</plist> 3040dfd57bSBarry SmithEOF 3140dfd57bSBarry Smith 321b45c02dSBarry Smithcat <<EOF > PETSc.docset/Contents/Resources/Nodes.xml 3340dfd57bSBarry Smith<?xml version="1.0" encoding="UTF-8"?> 3440dfd57bSBarry Smith<DocSetNodes version="1.0"> 3540dfd57bSBarry Smith <TOC> 361b45c02dSBarry Smith <Node type="file"> 3740dfd57bSBarry Smith <Name>All PETSc manual pages</Name> 381b45c02dSBarry Smith <Path>manualpages</Path> 391b45c02dSBarry Smith <File>singleindex.html</File> 40*bacb9532SBarry Smith <Subnodes> 41*bacb9532SBarry Smith <Node type="folder"> 42*bacb9532SBarry Smith <Name>ODE Integrators -- TS</Name> 43*bacb9532SBarry Smith <Path>manualpages/TS</Path> 44*bacb9532SBarry Smith <File>index.html</File> 45*bacb9532SBarry Smith </Node> 46*bacb9532SBarry Smith <Node type="folder"> 47*bacb9532SBarry Smith <Name>Nonlinear solvers -- SNES</Name> 48*bacb9532SBarry Smith <Path>manualpages/SNES</Path> 49*bacb9532SBarry Smith <File>index.html</File> 50*bacb9532SBarry Smith </Node> 51*bacb9532SBarry Smith <Node type="folder"> 52*bacb9532SBarry Smith <Name>Krylov solvers -- KSP</Name> 53*bacb9532SBarry Smith <Path>manualpages/KSP</Path> 54*bacb9532SBarry Smith <File>index.html</File> 55*bacb9532SBarry Smith </Node> 56*bacb9532SBarry Smith <Node type="folder"> 57*bacb9532SBarry Smith <Name>Preconditioners -- PC</Name> 58*bacb9532SBarry Smith <Path>manualpages/PC</Path> 59*bacb9532SBarry Smith <File>index.html</File> 60*bacb9532SBarry Smith </Node> 61*bacb9532SBarry Smith <Node type="folder"> 62*bacb9532SBarry Smith <Name>Semi-Lagrange solver</Name> 63*bacb9532SBarry Smith <Path>manualpages/SemiLagrange</Path> 64*bacb9532SBarry Smith <File>index.html</File> 65*bacb9532SBarry Smith </Node> 66*bacb9532SBarry Smith <Node type="folder"> 67*bacb9532SBarry Smith <Name>Mesh management -- DM</Name> 68*bacb9532SBarry Smith <Path>manualpages/DM</Path> 69*bacb9532SBarry Smith <File>index.html</File> 70*bacb9532SBarry Smith </Node> 71*bacb9532SBarry Smith <Node type="folder"> 72*bacb9532SBarry Smith <Name>Matrices -- Mat</Name> 73*bacb9532SBarry Smith <Path>manualpages/Mat</Path> 74*bacb9532SBarry Smith <File>index.html</File> 75*bacb9532SBarry Smith </Node> 76*bacb9532SBarry Smith <Node type="folder"> 77*bacb9532SBarry Smith <Name>Matrix-free operators -- MatFD</Name> 78*bacb9532SBarry Smith <Path>manualpages/MatFD</Path> 79*bacb9532SBarry Smith <File>index.html</File> 80*bacb9532SBarry Smith </Node> 81*bacb9532SBarry Smith <Node type="folder"> 82*bacb9532SBarry Smith <Name>Matrix orderings -- MatOrdering</Name> 83*bacb9532SBarry Smith <Path>manualpages/MatOrderings</Path> 84*bacb9532SBarry Smith <File>index.html</File> 85*bacb9532SBarry Smith </Node> 86*bacb9532SBarry Smith <Node type="folder"> 87*bacb9532SBarry Smith <Name>Vectors -- Vec</Name> 88*bacb9532SBarry Smith <Path>manualpages/Vec</Path> 89*bacb9532SBarry Smith <File>index.html</File> 90*bacb9532SBarry Smith </Node> 91*bacb9532SBarry Smith <Node type="folder"> 92*bacb9532SBarry Smith <Name>Indexing -- IS</Name> 93*bacb9532SBarry Smith <Path>manualpages/IS</Path> 94*bacb9532SBarry Smith <File>index.html</File> 95*bacb9532SBarry Smith </Node> 96*bacb9532SBarry Smith <Node type="folder"> 97*bacb9532SBarry Smith <Name>Numbering/Reordering -- AO</Name> 98*bacb9532SBarry Smith <Path>manualpages/AO</Path> 99*bacb9532SBarry Smith <File>index.html</File> 100*bacb9532SBarry Smith </Node> 101*bacb9532SBarry Smith <Node type="folder"> 102*bacb9532SBarry Smith <Name>Viewers -- PetscViewer</Name> 103*bacb9532SBarry Smith <Path>manualpages/Viewer</Path> 104*bacb9532SBarry Smith <File>index.html</File> 105*bacb9532SBarry Smith </Node> 106*bacb9532SBarry Smith <Node type="folder"> 107*bacb9532SBarry Smith <Name>Profiling -- PetscLog</Name> 108*bacb9532SBarry Smith <Path>manualpages/Profiling</Path> 109*bacb9532SBarry Smith <File>index.html</File> 110*bacb9532SBarry Smith </Node> 111*bacb9532SBarry Smith <Node type="folder"> 112*bacb9532SBarry Smith <Name>Utilities -- Sys</Name> 113*bacb9532SBarry Smith <Path>manualpages/Sys</Path> 114*bacb9532SBarry Smith <File>index.html</File> 115*bacb9532SBarry Smith </Node> 116*bacb9532SBarry Smith <Node type="folder"> 117*bacb9532SBarry Smith <Name>Thread parallelism -- PetscThreadComm</Name> 118*bacb9532SBarry Smith <Path>manualpages/PetscThreadComm</Path> 119*bacb9532SBarry Smith <File>index.html</File> 120*bacb9532SBarry Smith </Node> 121*bacb9532SBarry Smith <Node type="folder"> 122*bacb9532SBarry Smith <Name>Low-level communication -- PetscSF</Name> 123*bacb9532SBarry Smith <Path>manualpages/PetscSF</Path> 124*bacb9532SBarry Smith <File>index.html</File> 125*bacb9532SBarry Smith </Node> 126*bacb9532SBarry Smith <Node type="folder"> 127*bacb9532SBarry Smith <Name>Graphics -- PetscDraw</Name> 128*bacb9532SBarry Smith <Path>manualpages/Draw</Path> 129*bacb9532SBarry Smith <File>index.html</File> 130*bacb9532SBarry Smith </Node> 131*bacb9532SBarry Smith <Node type="folder"> 132*bacb9532SBarry Smith <Name>PF</Name> 133*bacb9532SBarry Smith <Path>manualpages/PF</Path> 134*bacb9532SBarry Smith <File>index.html</File> 135*bacb9532SBarry Smith </Node> 136*bacb9532SBarry Smith </Subnodes> 13740dfd57bSBarry Smith </Node> 13840dfd57bSBarry Smith </TOC> 13940dfd57bSBarry Smith</DocSetNodes> 14040dfd57bSBarry SmithEOF 14140dfd57bSBarry Smith 142*bacb9532SBarry Smithcat <<EOF > PETSc.docset/Contents/Resources/Tokens.xml 143*bacb9532SBarry Smith<?xml version="1.0" encoding="UTF-8"?> 144*bacb9532SBarry Smith<Tokens version="1.0"> 145*bacb9532SBarry SmithEOF 146*bacb9532SBarry Smith 147*bacb9532SBarry Smithcd ${LOC}/docs 148*bacb9532SBarry Smithfor i in manualpages/*/*.html; do 149*bacb9532SBarry Smith symbol=`echo $i | sed s?manualpages/[A-Za-z]*/??g | sed s?.html??g` 150*bacb9532SBarry Smith if [ ${symbol} != "index" ]; then 151*bacb9532SBarry Smith echo \<Token\> \<TokenIdentifier\>//apple_ref/c/func/${symbol}\</TokenIdentifier\>\<Path\>${i}\</Path\>\</Token\> >> ${PETSC_DIR}/${PETSC_ARCH}/PETSc.docset/Contents/Resources/Tokens.xml 152*bacb9532SBarry Smith fi; 153*bacb9532SBarry Smithdone 154*bacb9532SBarry Smith 155*bacb9532SBarry Smithcd ${PETSC_DIR}/${PETSC_ARCH} 156*bacb9532SBarry Smith 157*bacb9532SBarry Smithcat <<EOF >> PETSc.docset/Contents/Resources/Tokens.xml 158*bacb9532SBarry Smith</Tokens> 159*bacb9532SBarry SmithEOF 160*bacb9532SBarry Smith 16140dfd57bSBarry Smithcp -r ${LOC}/docs/manualpages PETSc.docset/Contents/Resources/Documents 16240dfd57bSBarry Smith 163*bacb9532SBarry Smith/Applications/Xcode.app/Contents/Developer/usr/bin/docsetutil index -debug -verbose PETSc.docset 16440dfd57bSBarry Smith 16540dfd57bSBarry Smith 166