| # |
| # ${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 <https://bugs.R-project.org>." |
| |
| 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: *** |