Coda File System

Re: cml.rpc2 be in $(RP2FILES), or cml.h in $(HEADERS) ?

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Fri, 8 Oct 1999 10:34:46 -0400
On Fri, Oct 08, 1999 at 06:50:34PM +0800, LEE, Yui-wah (Clement) wrote:
> 
> Hi,
> 
> Should we put cml.rpc2 be in $(RP2FILES), or cml.h in $(HEADERS) ?
> Coda-5.3.1 is using the latter form, but I think the former form is
> more appropriate.
> 
> (in coda-src/vicedep/Makefile.in, coda-5.3.1)
> ----------------------------------------------------------------------
> RP2FILES = callback.rpc2 res.rpc2 vice.rpc2 volutil.rpc2 \
>               voldump.rpc2 mond.rpc2 adsrv.rpc2 admon.rpc2 writeback.rpc2
> ...
> RP2HEADERS  = $(notdir ${RP2FILES:.rpc2=.h}) cml.h
> HEADERS = venusioctl.h srv.h operations.h recov_vollog.h vcrcommon.h
> ----------------------------------------------------------------------
> 
> -- Clement

But the generated cml.client.c, cml.server.c, and cml.multi.c are not
used anywhere so it is not useful to compile and link them. Only the
cml.h file is used by the CML packing and unpacking routines in venus
and vice to construct the log that is sent during reintegration.

I believe that the problem with vcrcommon.rpc2 was that it only
generates headers, and therefore these expansions,

 RP2CLOBJ = $(notdir ${RP2FILES:.rpc2=.client.o})
 RP2SROBJ = $(notdir ${RP2FILES:.rpc2=.server.o})

would add vcrcommon.client.o to RP2CLOBJS, etc. But as there is no
vcrcommon.client.c file, this results in a build error.

Jan
Received on 1999-10-08 10:38:48