#!/bin/tcsh -f

#hide the old
if ( -f Makefile.R.INCLUDE ) then
   echo "WARNING: Moving old Makefile.R.INCLUDE to Makefile.R.INCLUDE.BACK" 
   mv Makefile.R.INCLUDE Makefile.R.INCLUDE.BACK 
   if ( ! -f Makefile.R.INCLUDE.BACK ) then
      echo "Failed to create Makefile.R.INCLUDE.BACK"
      exit 1
   endif
endif
 
#Check R's version
set Rvermin = 2.6    #lowest R version allowed, 
                     #before that, R_getEmbeddingDllInfo was non existent 
set Rver = `R --version`
set rsort = `printf "$Rvermin\n$Rver[3]\n" | sort`
if ("$rsort[1]" != "$Rvermin") then 
   echo "R version must be $Rvermin or newer"
   echo "You have: $Rver[1-3]"
   exit 1
endif

#set flags for R options and create a little Makefile header

set RccCOMcpp = `R CMD config --cppflags`
set RccCOMlfl = `R CMD config --ldflags`
set RccCOMcfl = `R CMD config CFLAGS`
set RccCOMcc  = `R CMD config CC`
set RCC = $RccCOMcc[1]
set RccCOMcc = ($RccCOMcc[2-$#RccCOMcc])
set RccCOM = "$RCC ${RccCOMcc} ${RccCOMcpp} ${RccCOMcfl}"

#Setup an R Makefile
echo "#This file is automatically generated by script `basename $0`" \
   >  Makefile.R.INCLUDE

echo "#"                         >> Makefile.R.INCLUDE
echo "#Local R version is $Rver[3]" >> Makefile.R.INCLUDE
echo ""                          >> Makefile.R.INCLUDE
echo "#Compile options"          >> Makefile.R.INCLUDE
echo "RccCOMcpp = ${RccCOMcpp}"  >> Makefile.R.INCLUDE
echo "RccCOMlfl = ${RccCOMlfl}"  >> Makefile.R.INCLUDE
echo "RccCOMcfl = ${RccCOMcfl}"  >> Makefile.R.INCLUDE
echo "RccCOMcc  = ${RccCOMcc}"   >> Makefile.R.INCLUDE
echo 'RccCOMopt = $(RccCOMcc) $(RccCOMcpp) $(RccCOMcfl)'   >> Makefile.R.INCLUDE
echo ""                          >> Makefile.R.INCLUDE

#last check
if ( -f Makefile.R.INCLUDE ) then
   exit 0
else
   echo "Failed to create Makefile.R.INCLUDE"
   exit 1
endif
