Scilab Function
eng


purge_modnumsci title

File content


//purge_modnum
//Entrée flag 'clean' pour enlever les fichiers objets (.obj,.o)
//            'distclean' pour enlever 
//                        les fichiers objets (.obj .o)
//                        les fichiers binaire .bin
//                        les librairies (name lib .so .dll .lib .def)
//                        les palettes (*.cosf)
//WARNING : i don't find a way to delete dll in windob
//because protected
function []=purge_modnumsci(flag)

 //set here directories to be explored (in MODNUMSCI)
 macros_dir = '/macros/'+...
             ['build_util';
              'find_file';
              'misc';
              'pll';
              'scicos_blocks/Communication';
              'scicos_blocks/Filter';
              'scicos_blocks/Integer';
              'scicos_blocks/NonLinear';
              'scicos_blocks/Old'
              'scicos_blocks/Pll';
              'scicos_blocks/Signal';
              'scicos_blocks/Sinks';
              'scicos_blocks/Sources';
              'scicos_blocks/Tools';
              'scicos_util';
              'scicos_overload';
              'signal';];

 routines_dir = '/routines/'+...
               ['modnum_lib';
//                'scicos\codegen';
                'scicos/communication';
                'scicos/filter';
                'scicos/integer';
                'scicos/nonlinear';
                'scicos/old';
                'scicos/other';
                'scicos/pll';
                'scicos/sinks';
                'scicos/sources';
                'scicos/tools'];

 pal_dir = ['macros/scicos_blocks']

 //** def object and rm cmd **//
 if MSDOS then
   macros_dir=pathconvert(macros_dir,%f,%t,'w');
   routines_dir=pathconvert(routines_dir,%f,%t,'w');
   pal_dir=pathconvert(pal_dir,%f,%t,'w');
   rm_cmd='del /F ';
   obj_ext='*.obj';
   lib_ext='*.dll *.exp *.lib *.def';
 else
   rm_cmd="rm -f ";
   obj_ext='*.o'
   lib_ext='*.so'
 end

 select flag
  //*** clean ***//
  case 'clean' then
    cur_rep=pwd();
    for i=1:size(routines_dir,'*')
      chdir(MODNUMSCI+routines_dir(i));
      tt='unix_g(rm_cmd+obj_ext)'
      disp(tt)
      //ierr=execstr(tt,'errcatch');
    end
    chdir(cur_rep);

  //*** distclean ***//
  case 'distclean' then
    cur_rep=pwd();
    for i=1:size(macros_dir,'*')
     chdir(MODNUMSCI+macros_dir(i));
     tt='unix_g(rm_cmd+''*.bin lib names'')'
     disp(tt)
     //ierr=execstr(tt,'errcatch');
    end
    for i=1:size(routines_dir,'*')
     chdir(MODNUMSCI+routines_dir(i));
     tt='unix_g(rm_cmd+obj_ext)';
     ierr=execstr(tt,'errcatch');
     tt='unix_g(rm_cmd+lib_ext)'
     //ierr=execstr(tt,'errcatch');
    end
    for i=1:size(pal_dir,'*')
     chdir(MODNUMSCI+pal_dir(i));
     tt='unix_g(rm_cmd+''*.cosf'')'
     //ierr=execstr(tt,'errcatch');
    end
    chdir(MODNUMSCI);
    tt='unix_g(rm_cmd+''loader.sce'')'
    //ierr=execstr(tt,'errcatch');
    chdir(cur_rep);

  //*** invalid flag ***//
  else printf("Invalid flag\n");
 end
endfunction