#!/bin/sh # # ${R_HOME}/bin/COMPILE # @configure_input@ revision='$Revision: 1.14 $' version=`set - ${revision}; echo ${2}` version="R compilation front end ${version} Copyright (C) 2000 The R Core Development Team. This is free software; see the GNU General Public Licence version 2 or later for copying conditions. There is NO warranty." usage="Usage: R CMD COMPILE [options] files Compile the specified files for subsequent collection into a shared library using 'R CMD SHLIB'. Currently, C, C++, and FORTRAN files (with extensions '.c', '.cc' or '.cpp' or '.C', and '.f', respectively), are supported. Options: -h, --help print short help message and exit -v, --version print version info and exit Other options of the form '-DMACRO' or 'VAR=VALUE' are passed on to the compilation. Report bugs to ." MAKE=${MAKE-'@MAKE@'} makefiles="-f ${R_HOME}/etc/Makeconf" if test -r Makevars; then makefiles="-f Makevars ${makefiles}" fi objs= while test -n "${1}"; do case ${1} in -h|--help) echo "${usage}"; exit 0 ;; -v|--version) echo "${version}"; exit 0 ;; *.[cfC]|*.cc|*.cpp) objs="${objs} `echo ${1} | sed 's/\.[^\.][^\.]*$/.o/'`" ;; -D*) MAKEFLAGS="${MAKEFLAGS} ${1}" ;; *=*) argn=`echo "${1}" | sed -e 's/=.*//'` argv=`echo "${1}" | \ sed -e 's/[^=]*=//; s/^\\"//; s/\\"$//; s/\\"/\\\\"/g'` MAKEFLAGS="${MAKEFLAGS} ${argn}=\"${argv}\"" ;; *) echo "ERROR: don't know how to compile '${1}'" exit 1 ;; esac shift done eval "${MAKE} ${makefiles} ${MAKEFLAGS} ${objs}" ### Local Variables: *** ### mode: sh *** ### sh-indentation: 2 *** ### End: ***