summaryrefslogtreecommitdiff
path: root/macros/CCodeGeneration/C_GenerateMakefile.sci
diff options
context:
space:
mode:
Diffstat (limited to 'macros/CCodeGeneration/C_GenerateMakefile.sci')
-rw-r--r--macros/CCodeGeneration/C_GenerateMakefile.sci93
1 files changed, 93 insertions, 0 deletions
diff --git a/macros/CCodeGeneration/C_GenerateMakefile.sci b/macros/CCodeGeneration/C_GenerateMakefile.sci
new file mode 100644
index 00000000..1ef7385c
--- /dev/null
+++ b/macros/CCodeGeneration/C_GenerateMakefile.sci
@@ -0,0 +1,93 @@
+function C_GenerateMakefile(FileInfo,SharedInfo)
+// function C_GenerateMakefile(FileInfo,SharedInfo)
+// -----------------------------------------------------------------
+// Generate the makefile.
+//
+// Input data:
+// //NUT: add description here
+//
+// Output data:
+// //NUT: add description here
+//
+// Status:
+// 26-Jan-2008 -- Raffaele Nutricato: Author.
+//
+// Copyright 2007 Raffaele Nutricato.
+// Contact: raffaele.nutricato@tiscali.it
+// -----------------------------------------------------------------
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+SCI2CNInArgCheck(argn(2),2,2);
+
+// -----------------------
+// --- Initialization. ---
+// -----------------------
+PrintStepInfo('Generating Makefile '+FileInfo.MakefileFilename,...
+ FileInfo.GeneralReport,'both');
+// ---------------------------
+// --- End Initialization. ---
+// ---------------------------
+
+PrintStringInfo('# SCI2C Makefile',FileInfo.MakefileFilename,'file','y');
+PrintStringInfo('# hArtes EU Project.',FileInfo.MakefileFilename,'file','y');
+PrintStringInfo('# Authors: PoliBa & Inria',FileInfo.MakefileFilename,'file','y');
+PrintStringInfo('# -----------------------',FileInfo.MakefileFilename,'file','y');
+PrintStringInfo('# --- USER PARAMETERS ---',FileInfo.MakefileFilename,'file','y');
+PrintStringInfo('# -----------------------',FileInfo.MakefileFilename,'file','y');
+PrintStringInfo('# --- DIRECTORIES AND FILES ---',FileInfo.MakefileFilename,'file','y');
+if (SharedInfo.CCompilerPathStyle == 'windows')
+ makeobjpath = '..\..\..\Scilab2C\CFiles\sci2cobj';
+ // makeobjpath = FileInfo.CStyleSCI2CMainDir+'\CFiles\sci2cobj';
+ makecsrcdir = '..\..\..\Scilab2C\CFiles\sci2ccode';
+ // makecsrcdir = FileInfo.CStyleSCI2CMainDir+'\CFiles\sci2ccode';
+ makehsrcdir = '..\..\..\Scilab2C\CFiles\sci2cincludes';
+ // makehsrcdir = FileInfo.CStyleSCI2CMainDir+'\CFiles\sci2cincludes';
+ makeisrcdir = '..\..\..\Scilab2C\CFiles\sci2cinterfaces';
+ // makeisrcdir = FileInfo.CStyleSCI2CMainDir+'\CFiles\sci2cinterfaces';
+ makesci2cdir = FileInfo.CStyleOutCCCodeDir;
+ // makesci2cdir = FileInfo.CStyleOutCCCodeDir;
+elseif (SharedInfo.CCompilerPathStyle == 'unix' | ...
+ SharedInfo.CCompilerPathStyle == 'cygwin')
+ makeobjpath = '../../../Scilab2C/CFiles/sci2cobj';
+ // makeobjpath = FileInfo.CStyleSCI2CMainDir+'/CFiles/sci2cobj';
+ makecsrcdir = '../../../Scilab2C/CFiles/sci2ccode';
+ // makecsrcdir = FileInfo.CStyleSCI2CMainDir+'/CFiles/sci2ccode';
+ makehsrcdir = '../../../Scilab2C/CFiles/sci2cincludes';
+ // makehsrcdir = FileInfo.CStyleSCI2CMainDir+'/CFiles/sci2cincludes';
+ makeisrcdir = '../../../Scilab2C/CFiles/sci2cinterfaces';
+ // makeisrcdir = FileInfo.CStyleSCI2CMainDir+'/CFiles/sci2cinterfaces';
+ makesci2cdir = FileInfo.CStyleOutCCCodeDir;
+else
+ PrintStringInfo(' ',ReportFileName,'stdout','y');
+ PrintStringInfo('SCI2CERROR: Unkwnown option for CCompilerPathStyle','','both','y');
+ PrintStringInfo('SCI2CERROR: Please check SCI2CInputParameters.sce file.','','both','y');
+ SCI2Cerror(' ');
+end
+
+PrintStringInfo('OBJDIR = '+makeobjpath,FileInfo.MakefileFilename,'file','y');
+PrintStringInfo('CSRCDIR = '+makecsrcdir,FileInfo.MakefileFilename,'file','y');
+PrintStringInfo('HSRCDIR = '+makehsrcdir,FileInfo.MakefileFilename,'file','y');
+PrintStringInfo('ISRCDIR = '+makeisrcdir,FileInfo.MakefileFilename,'file','y');
+//PrintStringInfo('SCI2CDIR = '+makesci2cdir,FileInfo.MakefileFilename,'file','y');
+PrintStringInfo('SCI2CDIR = .',FileInfo.MakefileFilename,'file','y');
+PrintStringInfo('EXEFILENAME = mytest.exe',FileInfo.MakefileFilename,'file','y');
+
+// -------------------------------
+// --- Open template makefile. ---
+// -------------------------------
+fidfile = SCI2COpenFileRead(FileInfo.MakefileTemplate);
+
+// -------------------
+// --- Read lines. ---
+// -------------------
+tmpline = mgetl(fidfile,1);
+while (meof(fidfile) == 0)
+ PrintStringInfo(tmpline,FileInfo.MakefileFilename,'file','y');
+ tmpline = mgetl(fidfile,1);
+end
+
+mclose(fidfile);
+
+endfunction