\documentclass[10pt,letterpaper]{report}
\input{prologue.ltx-inc}
\begin{document}

\title{
  {\Huge\bfseries Photran Developer's Guide} \\
  \vspace*{1em}
  {\LARGE Part I: General Information} \\
  \vspace*{1em}
  {\normalsize \today\ Revision}
  \vspace*{3in}
}
\author{
N. Chen \\
J. Overbey \\
}
\date{}

\maketitle

\tableofcontents

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\chapter*{Checklist for New Developers}%\symbolfootnote[0]{Last significant update: 04/27/10 (JO)}
\input{cha-checklist.ltx-inc}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\chapter{Introduction}
\label{cha:introduction}
\input{cha-intro.ltx-inc}

\chapter{Plug-in Decomposition}
\label{cha:plugins}
\input{cha-plugins.ltx-inc}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\appendix

\chapter{Checking Out the Photran Sources from Git}
\label{app:git}
\input{app-git.ltx-inc}

%\chapter{Checking Out the Current Maintenance Code (Photran 7.0)}
%\label{app:cvs-maint}
%\input{app-cvs-maint.ltx-inc}

\chapter{Running Photran's Automated Test Suite}
\label{app:testsuite}
\setcounter{running_counter}{0}
\input{app-tests.ltx-inc}

\chapter{Creating a Launch Configuration for Photran}
\label{app:launch}
\setcounter{running_counter}{0}
\input{app-launch.ltx-inc}

\chapter{Additional Information for UIUC Personnel}
\label{app:uiuc}
\input{app-uiuc.ltx-inc}

\chapter{Checking Out the CDT Sources}
\label{app:git-cdt}
\input{app-git-cdt.ltx-inc}

\chapter{Contributing a New Feature or Bug Fix}
\label{app:contributing}
\input{app-contributing.ltx-inc}

\chapter{Release History}
\input{app-history.ltx-inc}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
