Add here a paragraph of the function description.
//builder.sce //build mod_num_3 package for scilab-3.0 //both linux and windob(with lcc) //13-10-2004 Alan // //Modification : 4/4/2005 //builder rewritten with scilab function //Improvment : Build with VC++ // REVISION HISTORY : // $Log$ // //def_MODNUM_path() //Input : nothing //Output : tt MODNUM path (ex:/home/alan/mod_num_3) function tt=def_MODNUM_path() tt=get_absolute_file_path('builder.sce'); end_char=part(tt,length(tt)); if end_char=='/'|end_char=='\' then tt=part(tt,1:length(tt)-1); end endfunction mode(-1); lines(0); //define MODNUM path MODNUM=def_MODNUM_path(); //Search Scilab Version getf(MODNUM+'/macros/build_util/find_scilab_ver.sci'); [ok]=find_scilab_ver(); if ~ok then printf("Mod_num toolbox source version only build with scilab >=3.0\n"); abort end //open loader.sce file for writting ierror=execstr('u=mopen(MODNUM+""/loader.sce"",""w"");','errcatch'); if ierror<>0 then printf("Can''t write loader file.\nVerify your writting access.\n"); end clear ierror; //write Header of loader.sce file getf(MODNUM+'/macros/build_util/write_header.sci'); write_header(u,'builer.sce') //Build and load util macro library getf(MODNUM+'/macros/build_util/build_lib.sci'); build_lib('/macros/build_util','mod_num_util'); getf(MODNUM+'/macros/build_util/write_inf_lib.sci'); txt=write_inf_lib(u,'/macros/build_util','mod_num_util',1); ierr=execstr(txt,'errcatch'); //Build and load all scilab library libs=['generate_doc';'gen_doc_util';'xmltotex'; 'misc';'signal';'scicos_util';'find_file']; rep_lib='/macros/'+libs; lib_name='mod_num_'+libs; build_lib(rep_lib,lib_name); txt=write_inf_lib(u,rep_lib,lib_name,1); ierr=execstr(txt,'errcatch'); //Build and load palette of scicos_blocks pal=['Tools';'Sources';'Sinks';'Pll';'NonLinear';'Communication']; rep_pal='/macros/scicos_blocks/'+pal; pal_title='mod_num_'+convstr(pal,'l'); lib_name=pal_title+'_pal'; build_lib(rep_pal,lib_name); fprintf(u,"%s\n",'//Load mod_num scicos_blocks library'); txt=write_inf_lib(u,rep_pal,lib_name,0); ierr=execstr(txt,'errcatch'); //Generate palette of scicos_blocks for i=1:size(rep_pal,"*") files_sci=basename(listfiles(MODNUM+rep_pal(i)+"/*.sci")); generate_palette(files_sci,MODNUM+'/macros/scicos_blocks/',pal(i)); end txt=write_inf_pal(u,rep_pal+'.cosf',pal_title); ierr=execstr(txt,'errcatch'); clear txt;clear pal_title;clear lib_name;clear rep;clear rep_pal; clear ierr;clear files_sci;clear i; clear pal; //Build routines Library printf("Build mod_num routines libraries\n"); //Find C compiler [flagc,ccmd]=find_cmd('c'); //Find Fortran compiler [flagf,fcmd]=find_cmd('f'); //find witch directory to include for compilation incl_path=find_incl_path(); //Build and load mod_num_lib routines printf("Build mod_num_lib C routines\n"); path='/routines/mod_num_lib'; files=basename(listfiles(MODNUM+path+'/*.c')); libname="libmodnum_lib"; scifunc=["genint";"modpsk";"surecht"]; intname="intmod_num_lib"; if ccmd<>'trash' then precompilation(flagc,ccmd,incl_path,path,files); create_library(flagc,ccmd,libname,path,files); txt=write_inf_rout_lib(u,libname,path,files,0); ierr=execstr(txt,'errcatch'); txt=write_addinter_line(u,libname,path,intname,scifunc); ierr=execstr(txt,'errcatch'); end clear files, clear libname; clear scifunc; clear intname; //Build and load scicos C routines printf("Build scicos blocks C routines\n"); path='/routines/scicos'; files_c=basename(listfiles(MODNUM+path+'/*.c')); libname="libmodnum_c"; if ccmd<>'trash' then precompilation(flagc,ccmd,incl_path,path,files_c); create_library(flagc,ccmd,libname,path,files_c); txt=write_inf_rout_lib(u,libname,path,files_c,1); ierr=execstr(txt,'errcatch'); end clear files_c; clear libname; //Build and load scicos F routines printf("Build scicos blocks Fortran routines\n"); files_f=basename(listfiles(MODNUM+path+'/*.f')); libname="libmodnum_f"; if fcmd<>'trash' then precompilation(flagf,fcmd,incl_path,path,files_f); create_library(flagf,fcmd,libname,path,files_f); txt=write_inf_rout_lib(u,libname,path,files_f,2); ierr=execstr(txt,'errcatch'); end clear path; clear files_f; clear libname; clear incl_path;clear flagc;clear flagf; clear ccmd;clear fcmd; clear ierr; //Build documentation and demos txt=write_inf_doc(u); ierr=execstr(txt,'errcatch'); if ierr==0 then %helps=%helps; end build_demo(); //flag_doc=build_doc(); //Close loader.sce mclose(u); printf("Write a loader.sce file\n"); //write a .scilab file if ~MSDOS then txt=mgetl('loader.sce'); mputl(txt,'.scilab'); printf("Write a .scilab file\n"); end clear u; clear txt; clear ierr; clear ok;