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