SCCS and RCS

guy at rlgvax.UUCP guy at rlgvax.UUCP
Sat Jul 14 05:29:31 AEST 1984


"make" can be easily modified to support RCS as well; we've modified the
System III "make" to do it.  Instead of using the "~.c.o" rules (which
require you to change the "~.c.o" rule every time you want to change the
".c.o" rule), we used some built-in code (used to automatically "get" the
Makefile) and hardcoded the checkout stuff.  It's fairly smart - it knows
about RCS subdirectories, knows that to "check out" "../includes/foobar.h"
it should do "cd ../includes;co foobar.h", and doesn't check out things
only needed to remake things that it isn't going to remake.

One problem with not keeping source checked out, though, is that "grep"ping for
things is a *R*O*Y*A*L* *P*A*I*N*.  Also, the System III/System V rebuild
procedures are unhappy, because if they don't find "frobozz.c" in
"/usr/src/cmd" they don't know that there's a "frobozz" command to be made.
(Then again, if they see "frobozz.c" and "frobozz.mk" or "frobozz.rc", they
make "frobozz".  TWICE.  So I'm not sure those rebuild procedures are that
great, anyway.)  It also makes it hard to make source distribution tapes
if you aren't distributing the SCCS/RCS files (the 4.2BSD "tar" has a "-F"
option, presumably for making source distribution tapes, that has some
stuff to avoid writing things like SCCS directories), and makes it a pain to
FTP (or UUCP) source from other machines.

	Guy Harris
	{seismo,ihnp4,allegra}!rlgvax!guy



More information about the Comp.unix.wizards mailing list