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