Rev 15993 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
### This is "MPWBuild"###### This script generates a true Makefile called### that is needed in the following to build R.### Just change the directory to the folder where this file is.### Execute it by typing "MPWBuild"### After a while this script exists and it has generated MakeR.### Follow the instruction displayed to build R.############ Notes: to build R and run this script you need "sed" and "f2c".### If you want just the tools you'll find them at### http://www.ci.tuwien.ac.at/~iacus/R### If you want the full archives refer to the ftp site### sunsite.cnlab-switch.ch### /software/platform/macos/src/mpw_c/###### You also need the "f2cLib" that is usually distributed along### with R but can also be found at### http://www.ci.tuwien.ac.at/~iacus/R###### The Makefile assumes that the MoreFile 1.5.2 package is### available somewhere. MoreFiles 1.5.2 is distributed along with### the CarbonLib 1.4 SDK or later. Refer to developer.apple.com### To build R you also need the complete Waste 2.x distribution### Refer to http://www.merzwaren.com/waste###### Jago Aug 26 2001, Stefano M. Iacus### (`iacus-ng' recently released, so it can't be bug free)###### bug report or optimization hints can be sent to###### stefano.iacus@unimi.it###if !`Exists "{MPW}tools:sed"`Alert "You need to install sed tool before continuing"endecho "Setting up creator and type for scripts and makefiles"set fileList "`WhereIs -x -s ::: Makefile.mac ¶BuildAll.mac News.MAC`"if "{fileList}"for f in {fileList}SetFile -c 'ttxt' -t 'TEXT' "{f}"endendecho "Start creating MakeR"dateecho " "if `Exists ::main:alloca.c`Rename "::main:alloca.c" "::main:alloca_c"endecho "Setting variables and file list..."echo " "if !{MFDir}beginAlert "Please define MoreFiles distribution dir"set MFDir "`GetFilename -d`"endendif !{WasteDir}beginAlert "Please define 'Waste' distribution dir"set WasteDir "`GetFilename -d`"endendif !{WasteLib}set WasteLib "{WasteDir}Stub Libraries:CarbonWASTELib"endif !`Exists :::f2cLib`beginAlert "Please indicate where f2cLib is"set F2CLib "`GetFilename`"Echo "Installing f2cLib"Duplicate {F2CLib} :::endendif !`Exists :::.Renviron`Duplicate :.Renviron :::endset FortList "`Files ::appl:Å.f` `Files ::main:Å.f`"set RSrc "`Files ::main:Å.c` `Files ::nmath:Å.c` ¶`Files ::appl:Å.c` `Files ::extra:xdr:Å.c` ¶::unix:dynload.c"set MacSrc "`Files Å.c` `Files :edit:Å.c` `Files :extra:Å.c` ¶`Files :dll:Å.c` `Files :print:Å.c` ¶`Files :waste:Å.c` `Files :gui:Å.c` ¶`Files :dir:Å.c` `Files :graphic:Å.c` ¶`Files :sys:Å.c`"set ExtraSrc "{MFDir}Sources:FullPath.c ¶{MFDir}Sources:FSpCompat.c ¶{MFDir}Sources:MoreFiles.c ¶{MFDir}Sources:MoreFilesExtras.c"echo extraSrc = '{extraSrc}' >> MakeRif !`Exists -d :obj`NewFolder :objendif `Exists MakeR`Delete MakeRendecho "### MakeR" >> MakeRecho "###" >> MakeRecho "### Auto generated Makefile to build R" >> MakeRecho "### `date`" >> MakeRecho "###" >> MakeRecho "### generated via MPWBuild_R" >> MakeRecho "### Jago August 2001, Stefano M. Iacus" >> MakeRecho " " >>MakeRecho " " >>MakeRecho " " >>MakeRecho Includes = -i ::include -i ::extra:xdr '¶' >>MakeRecho -i : -i :dir -i :waste -i :edit -i :gui '¶' >>MakeRecho -i :extra -i :dll -i :sys '¶' >>MakeRecho -i '"''{'WasteDir'}C_C++ Headers"' -i :f2c ¶-i '"''{'MFDir'}'CHeaders'"' ¶-i '"''{'MFDir'}'Sources'"' >>MakeRecho " " >>MakeRecho " " >>MakeRecho WasteDir = {WasteDir} >>MakeRecho WasteLib = {WasteLib} >>MakeRecho MFDir = {MFDir} >>MakeRecho F2COpt = -A -E -ec -!R -r8 -w66 -Nq150 -Nx200 -Ns801 -Nc20 ¶-Nn401 -NL200 -NC99 -Nl256 >> MakeRif !`Exists :::WasteLib`beginEcho "Installing WasteLib"Duplicate {WasteDir}WasteLib :::endendecho " " >>MakeRecho " " >>MakeRecho LibFiles = '¶' >>MakeRecho '"''{'PPCLibraries'}'CarbonStdCLib.o'"' '¶' >>MakeRecho '"''{'SharedLibraries'}'CarbonLib'"' '¶' >>MakeRecho '"''{'SharedLibraries'}'StdCLib'"' '¶' >>MakeRecho '"''{'PPCLibraries'}'StdCRuntime.o'"' '¶' >>MakeRecho '"''{'PPCLibraries'}'PPCCRuntime.o'"' '¶' >>MakeRecho '"''{'PPCLibraries'}'PPCToolLibs.o'"' '¶' >>MakeRecho '"''{'WasteLib'}''"' '¶' >>MakeRecho '":::f2cLib"' >>MakeRecho " " >>MakeRecho " " >>MakeRecho "### Generates FFTab.h and FFDecl.h" >>MakeRecho FFTab.h Ä ::appl:ROUTINES >> MakeRecho ' ' execute :tools:FF_CREATE >> MakeRecho " " >>MakeRecho " " >>MakeRecho "### Generates Rversion.h" >>MakeRecho Rversion.h Ä :::VERSION >> MakeRecho ' ' execute :tools:GETVERSION >> MakeRecho " " >>MakeRecho " " >>MakeRecho "### Generates Rconfig.h" >>MakeRecho Rconfig.h Ä ::include:config.h config.mac.h >> MakeRecho ' ' Duplicate -y config.mac.h ::include:config.h >>MakeRecho " execute :tools:GETCONFIG > Rconfig.h" >> MakeRecho " " >>MakeRecho " " >>MakeRecho "### Auto-generated list of sources" >> MakeRecho "###" >> MakeRecho " " >> MakeRecho " " >> MakeRecho "### Main R sources" >> MakeRecho "RSrc = {RSrc}" >> MakeRecho " " >> MakeRecho " " >> MakeRecho "### Specific Macintosh sources" >> MakeRecho "macSrc = {macSrc}" >> MakeRecho " " >> MakeRecho " " >> MakeRecho "### Extra Macintosh support files" >> MakeRecho extraSrc = '¶' >> MakeRfor f in {extraSrc}echo "'"{f}"'" '¶' >>MakeRendecho " " >> MakeRecho " " >> MakeRecho "### Fortran files to convert" >> MakeRecho "FortList = {FortList}" >> MakeRecho " " >> MakeRecho " " >> MakeRecho " " >> MakeRecho " " >> MakeRecho " " >> MakeRecho " " >> MakeRecho " " >> MakeRecho " " >> MakeRecho "Creating list of object files..."echo " "echo RObj = '¶' >> MakeRfor f in {RSrc}beginecho `echo {f} | sed "s/\.c/.o/g" ¶| sed "s/[^/]*:/:obj:\1/"` '¶' >>MakeRendendecho "" >> MakeRecho FObj = '¶' >> MakeRfor f in {FortList}beginecho `echo {f} | sed "s/\.f/.o/g" ¶| sed "s/[^/]*:/:obj:\1/"` '¶' >>MakeRendendecho "" >> MakeRecho MacObj = '¶' >> MakeRfor f in {MacSrc}beginecho ":obj:"`echo {f} | sed "s/\.c/.o/g" ¶| sed "s/[^/]*:/\1/"` '¶' >>MakeRendendecho "" >> MakeRecho ExtraObj = '¶' >> MakeRfor f in {ExtraSrc}beginecho `echo {f} | sed "s/\.c/.o/g" ¶| sed "s/[^/]*:/:obj:\1/"` '¶' >>MakeRendendecho "" >> MakeRecho " " >> MakeRecho " " >> MakeRecho '.c Ä .f' >> MakeRecho ' 'f2c '{'F2COpt'}' ¶'{'DepDir'}''{'default'}'.f >> MakeRecho "" >>MakeRecho '.o Ä .c Rversion.h Rconfig.h FFTab.h FFDecl.h ¶:::include:config.h' >> MakeRecho ' 'Mrc '{'DepDir'}''{'default'}'.c '{'includes'}' -o ¶:obj:'{'default'}'.o -sym full -opt off -includes Unix ¶-shared_lib_export on '¶' >> MakeRecho ' '-w 35,2,7,29,30 -d HAVE_CONFIG_H -d Macintosh -d ¶TARGET_API_MAC_CARBON '¶' >> MakeRecho ' '-typecheck relaxed -noMapCR -ansi off ¶-prefix RHeaders.h -alloca >> MakeRif `Exists :expvar`Delete :expvarendecho " " >> MakeRecho "### Main command build" >> MakeRecho " " >> MakeRecho R ÄÄ '{'RObj'}' '{'MacObj'}' '{'ExtraObj'}' ¶'{'FObj'}' >> MakeRecho "### exporting symbols" >> MakeRecho ' '"catenate :obj:Å.x > expvar" >> MakeRecho ' 'PPCLink -o :::R '¶' >> MakeRecho ' ''{'RObj'}' '{'MacObj'}' '{'ExtraObj'}' ¶'{'FObj'}' '¶' >> MakeRecho ' ''{'LibFiles'} ¶' >> MakeRecho ' '-sym on -mf -d -t "'APPL'" -c "'OFFF'" ¶-m __appstart -@export ¶expvar >> MakeRecho " " >> MakeRecho " " >> MakeRecho "R ÄÄ :res:RCarbon.r" >> MakeRecho ' '"Rez :res:RCarbon.r -o :::R -a" >>MakeRecho " " >> MakeRecho "R ÄÄ :res:Size.r" >>MakeRecho ' '"Rez :res:Size.r -o :::R -a" >>MakeRecho " " >> MakeRecho "R ÄÄ :res:RVerRes.r" >> MakeRecho ' '"Rez :res:RVerRes.r -o :::R -a" >> MakeRecho " " >> MakeRecho "R ÄÄ :res:R.rsrc" >> MakeRecho ' '"Rez :res:R.r -o :::R -a" >> MakeRecho " " >> MakeRecho ":res:R.r Ä :res:R.rsrc" >> MakeRecho ' '"derez :res:R.rsrc > :res:R.r" >> MakeRecho "R ÄÄ :res:Raete.r" >> MakeRecho ' '"Rez :res:Raete.r -o :::R -a" >>MakeRecho " " >> MakeRecho "Creating dependencies..."echo " "echo "###" >> MakeRecho "### Auto-generated dependencies" >> MakeRecho "### Main R sources" >> MakeRfor f in {RSrc}beginecho `echo {f} | sed "s/\.c/.o/g" ¶| sed "s/[^/]*:/:obj:\1/"` "Ä" '"'{f}'"' >>MakeRendendecho "### fortran to obj files" >> MakeRfor f in {FortList}beginecho `echo {f} | sed "s/\.f/.o/g" | ¶sed "s/[^/]*:/:obj:\1/"` "Ä" ¶`echo {f} | sed "s/\.f/.c/g"` >>MakeRendendecho "### Macintosh specific" >> MakeRfor f in {MacSrc}beginecho ":obj:"`echo {f} | sed "s/\.c/.o/g" ¶| sed "s/[^/]*:/\1/"` "Ä" '"'{f}'"' >>MakeRendendecho "### Extra Macintosh sources" >> MakeRfor f in {ExtraSrc}beginecho `echo {f} | sed "s/\.c/.o/g" ¶| sed "s/[^/]*:/:obj:\1/"` "Ä" '"'{f}'"' >>MakeRendendecho "### Fortran files" >> MakeRfor f in {FortList}beginecho `echo {f} | sed "s/\.f/.c/g" ¶| sed "s/[^/]*:/:obj:\1/"` "Ä" '"'{f}'"' >>MakeRendendecho " "echo "Done !"dateecho " "echo "######################################################"echo " "echo "File MakeR created in the current folder"echo " "echo "Please install f2c and sed in the Tools:"echo "directory of your MPW Configuration"echo " "echo "You don't need to run this MPWBuild more than once."echo "This script creates for you a true MPW Makefile called"echo "MakeR that you'll use to build R"echo " "echo "######################################################"echo " "echo "To build R, simply do the following"echo " "echo "Make -f MakeR R > MyMake"echo "MyMake"echo " "