Re: [Rd] forcing R CMD COMPILE

From: Paul Roebuck <roebuck_at_odin.mdacc.tmc.edu>
Date: Wed 23 Mar 2005 - 17:29:37 GMT

On Wed, 23 Mar 2005, Pedro Ribeiro de Andrade Neto wrote:

> On Wed, 23 Mar 2005, Prof Brian Ripley wrote:
>
> > On Wed, 23 Mar 2005, Pedro Ribeiro de Andrade Neto wrote:
> >
> > > I am developing a package with a lot of C++ code, and I have a question
> > > about R CMD COMPILE. As I can see, when the package's Makefile calls
> > >
> > > R CMD COMPILE foo.cpp
> >
> > Why does your package have a Makefile? And why is it calling COMPILE and
> > not SHLIB?
>
> My package has a Makefile because I need to compile 16 .cpp files. After
> it, I call R CMD SHLIB.
>
> > > R verifies if foo.o exists, and if it is up to date (last modified after
> > > foo.cpp's last), trying to avoid recompile foo.cpp.
> >
> > Not quite: COMPILE is a make facility, and it calls make with its own
> > Makefiles. This does not seem appropriate to your usage.
> >
> > > But __all__ my files have other dependencies (at least a .h). The
> > > Makefile verifies it, and calls COMPILE only when it is sure that foo.o
> > > is not up to dated. The problem occours, for example, if I modify only
> > > foo.h, and then compile again. R will say that foo.o is up to date, but
> > > it is not true.
> > >
> > > Is there any way to force R CMD COMPILE?? Well, I can remove the .o file
> > > before COMPILE, but I think R could do something about it...
> >
> > Better not to use R CMD COMPILE. R itself does not (AFAICS): it is there
> > for S-PLUS compatibility. It seems only ROracle on CRAN does.
> >
> > Note that R CMD INSTALL is usually called on fresh sources (an unpacked
> > tarball) so dependencies are not usually an issue.
> >
>
> OK. So I have to compile them with g++ implicitly (instead of using R CMD
> COMPILE), and then call R CMD SHLIB.

If you have your own makefile, why not just add a 'depend' target?



SIGSIG -- signature too long (core dumped)

R-devel@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Thu Mar 24 04:35:28 2005

This archive was generated by hypermail 2.1.8 : Mon 24 Oct 2005 - 22:26:31 GMT