1#!/bin/tcsh -f 2 3#hide the old 4if ( -f Makefile.R.INCLUDE ) then 5 echo "WARNING: Moving old Makefile.R.INCLUDE to Makefile.R.INCLUDE.BACK" 6 mv Makefile.R.INCLUDE Makefile.R.INCLUDE.BACK 7 if ( ! -f Makefile.R.INCLUDE.BACK ) then 8 echo "Failed to create Makefile.R.INCLUDE.BACK" 9 exit 1 10 endif 11endif 12 13#Check R's version 14set Rvermin = 2.6 #lowest R version allowed, 15 #before that, R_getEmbeddingDllInfo was non existent 16set Rver = `R --version` 17set rsort = `printf "$Rvermin\n$Rver[3]\n" | sort` 18if ("$rsort[1]" != "$Rvermin") then 19 echo "R version must be $Rvermin or newer" 20 echo "You have: $Rver[1-3]" 21 exit 1 22endif 23 24#set flags for R options and create a little Makefile header 25 26set RccCOMcpp = `R CMD config --cppflags` 27set RccCOMlfl = `R CMD config --ldflags` 28set RccCOMcfl = `R CMD config CFLAGS` 29set RccCOMcc = `R CMD config CC` 30set RCC = $RccCOMcc[1] 31set RccCOMcc = ($RccCOMcc[2-$#RccCOMcc]) 32set RccCOM = "$RCC ${RccCOMcc} ${RccCOMcpp} ${RccCOMcfl}" 33 34#Setup an R Makefile 35echo "#This file is automatically generated by script `basename $0`" \ 36 > Makefile.R.INCLUDE 37 38echo "#" >> Makefile.R.INCLUDE 39echo "#Local R version is $Rver[3]" >> Makefile.R.INCLUDE 40echo "" >> Makefile.R.INCLUDE 41echo "#Compile options" >> Makefile.R.INCLUDE 42echo "RccCOMcpp = ${RccCOMcpp}" >> Makefile.R.INCLUDE 43echo "RccCOMlfl = ${RccCOMlfl}" >> Makefile.R.INCLUDE 44echo "RccCOMcfl = ${RccCOMcfl}" >> Makefile.R.INCLUDE 45echo "RccCOMcc = ${RccCOMcc}" >> Makefile.R.INCLUDE 46echo 'RccCOMopt = $(RccCOMcc) $(RccCOMcpp) $(RccCOMcfl)' >> Makefile.R.INCLUDE 47echo "" >> Makefile.R.INCLUDE 48 49#last check 50if ( -f Makefile.R.INCLUDE ) then 51 exit 0 52else 53 echo "Failed to create Makefile.R.INCLUDE" 54 exit 1 55endif 56