
Srci (saucy?) is a Source Inventory utility intended to complement the imakef
makefile generator in the INMOS toolset, or indeed any automated makefile
generation facility. It extracts and lists those source files which are
essential to permit re-building of all the targets found in a makefile.
Intermediate files and the targets themselves are omitted from the list.

Srci is also able to apply an arbitary operation to each file it finds. This
ability is primarily intended to facilitate revision control by guaranteeing
that all essential files relevant to a given project have been identified and
subjected to archiving commands. This is theoretically possible using implicit
rules given one of the more sophisticated (read unix-ish) versions of make,
but involves quite obscure make programming.


The degree to which a makefile is analysed is limited; in particular implicit
rules that detail how to make whole classes of targets are not supported, Eg.
rules of the form:

.<ext0>.<ext1>:
        ...  recipe

Implicit rules are assumed to be those that either contain the character '%'
or start with a dot but contain no directory separator character. When these
are seen a warning is issued. However, all explicit rules (such as those imakef
produces) should be found and will be used to determine the source list.

Checking of make's syntax is minimal so it is advisible to ensure that
manually edited makefiles work properly with make itself before
submitting them to srci.

Both DOS and unix versions of srci support either form of the directory
separator character ('\' or '/') in their input file, the only difference
is in the command line switch character used and the size of projects and
command lines supported.

Files in this release:

    00readme.txt This file
    srci.c       ANSI C source code
    srci.exe     DOS executable, built with Turbo C
    makefile     Rudimentary makefile, targets to suit DOS, gcc and transputer

Files were produced on a PC, so you may need to use a dos2unix utility to
strip carriage returns from newlines on a unix box.

I wrote this in response to having to take over a project that had been
maintained using Windows Source Integrity (point... klick... point...
klick... <groan>. hey, at least they give you command line stuff too.
<hmmm...>). May you never need it that badly.

               M.I.Barlow   1996                       mark@nlcc.demon.co.uk

