If I understand correctly, all versions of `make` on the BioC build systems will support GNU extensions to Makefiles, and so it's probably not worth your time to make this 'portable' -- just add the SystemRequirements bit.
However, you could work around this by (following R-exts at http://cran.r-project.org/doc/manuals/r-release/R-exts.html#Writing-portable-packages) wrapping your shell command in backticks, e.g. R_HOME=`if test -z ${R_HOME}; then ...; else ...; fi` or something to that effect. On Fri, Jan 23, 2015 at 4:05 PM, Laurent Gatto <lg...@cam.ac.uk> wrote: > > Dear all, > > I have been using the following in various vignettes/Makefile > > ifeq (${R_HOME},) > R_HOME= $(shell R RHOME) > endif > > This syntax is GNU specific and now results in warnings when checking > the package: > > * checking for GNU extensions in Makefiles ... WARNING > Found the following file(s) containing GNU extensions: > vignettes/Makefile > Portable Makefiles do not use GNU extensions such as +=, :=, $(shell), > $(wildcard), ifeq ... endif. See section ‘Writing portable packages’ in > the ‘Writing R Extensions’ manual. > > I couldn't find anything in R-exts; does anyone know a more portable > syntax? > > Alternatively, I could add > > SystemRequirements: GNU make > > to my DESCRIPTION file, which however does not seem ideal. > > Any suggestions? > > Thank you very much in advance. > > Laurent > > _______________________________________________ > Bioc-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/bioc-devel _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel