project is a C source project template that permits fully automagical project maintenance to be done with some simple (and not so simple) make targets: make tgz, make rpm, make installweb, make cvs for example. It is worth several hours of work, minimally, in getting a project off the ground, and gets it off on the right foot, with a lot of things you might add "eventually" already there in template form, ready to fill in.

project actually installs from the tarball ONLY -- or if you prefer, the tarball IS the project template ready to use -- but this page and distribution set is more or less automagically created by the make installweb target, so it seems worthwhile to include the rpm's even if they only install a trivial "Hello World!" program.

To use this template, create or change to your source directory (I use $HOME/Src but suit yourself), put the project.tgz there and unpack it:

 tar xvfz project.tgz

(and it should verbosely unpack).

Change to the project directory. There is a README that gives instructions on how to use to the template. Most of the mucky part of the process is encapsulated in a script called "newproject" that you can read to see how it works. To use this script for a new "rgb standard" project, enter:

This presumes that you've got CVS setup (a functioning CVSROOT). If you want to use the make rpm targets, additionally you must:

Optionally edit the man page template, the README, the abstract (this file), the php file, Remember, the man page is your friend. Also remember to update/modify the "Usage" statement in parsecl.c as you add new command line commands, if any.

If you grab this project template and have any fundamental trouble getting it working, let me know and I'll try to help you. My email address is rgb@phy.duke.edu.