The Flyn Computing Template Kit (fctk) is a collection of fmt-ptrn templates, XSLT templates, and project descriptions. These tools are used at Flyn Computing for development. The collection of templates use XML and the priciple of not repeating oneself. For example, this description comes from an XML file that is used to generate the fctk package's man page, HTML documentation, RPM specification, Debian package specifications, etc.

Nasty Details

Using np with the included project template, gnu_c:

np foo gnu_c

…will create the following directory tree:

AUTHORS    INSTALL      TODO          dry         missing        src
COPYING    Makefile.am  configure.in  include     mkinstalldirs
ChangeLog  NEWS         debian        install-sh  scripts
changelog  control  copyright  rules
Makefile.am  foo.xml
Makefile.am  foo.c

Each file that is created provides a reasonable starting point for a GNU C project. Dry/foo.xml is used by dry/Makefile to create getopt() C code, man pages, etc.

Project directory structure:

XSLT templates to generate getopt() C code, man pages, HTML documentation, Debian package specifications, RPM specifications, etc. from one XML description.
Templates for use with nf.
Project descriptions for use with np
Auxillary files which are referenced by some of the other templates. These should go in /etc/fctk/