# # ${R_HOME}/bin/COMPILE # @configure_input@ revision='$Rev$' version=`set - ${revision}; echo ${2}` version="R compilation front end: ${R_VERSION} (r${version}) Copyright (C) 2000-2018 The R Core Team. This is free software; see the GNU General Public License 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' or an executable program using 'R CMD LINK'. Currently, the following languages with associated source file extensions are supported (provided that the respective compilers are available and R was configured to use these): C ('.c'), C++ ('.cc' or '.cpp'), fixed-form Fortran ('.f'), free-form Fortran ('.f90' or'.f95'), Objective C ('.m'), and Objective C++ ('.M' or '.mm'). 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 at ." makefiles="-f \"${R_HOME}/etc${R_ARCH}/Makeconf\"" if test -r "${HOME}/.R/Makevars-${R_PLATFORM}"; then makefiles="${makefiles} -f \"${HOME}/.R/Makevars-${R_PLATFORM}\"" elif test -r "${HOME}/.R/Makevars"; then makefiles="${makefiles} -f \"${HOME}/.R/Makevars\"" fi 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 ;; *.[cfmM]|*.cc|*.cpp|*.f90|*.f95|*.mm) 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: ***