[Scilab-users] Creation of a library with macros located in various folders
Samuel Gougeon
sgougeon at free.fr
Sat Oct 15 17:31:47 CEST 2016
Hello Pierre,
Scilab 6.0 will propose a new function *tbx_make*(..) that will be able
to do exactly what you want:
https://codereview.scilab.org/#/c/18071/
By the way, it will greatly simplify compilation of modules, and will no
longer require many cooky-files .sce like buildmacros.sce buildoc.sce
etc etc spread everywhere in the tree of files of a module.
On the forefront, tbx_make() aims to replace & merge most of functions
of the "modules manager" module, that are rather some atomic internals
not really welcome as public functions:
https://help.scilab.org/docs/6.0.0/en_US/section_d8452c14ec97df3c90ea90bb4f7d53b6.html
If you use Scilab on Linux, you can already test tbx_make() in the
nightly built release (*).
If you are working with Scilab 5, you may use the attached script. Its
how-to is in comments.
Regards
Samuel
(*) tbx_make() merged on 2016-10-02 in the master release is still
unavailable in the today NB sticking on the 2016-09-22 sources for Windows.
Le 12/10/2016 22:00, Pierre Vuillemin a écrit :
>
> Hi all,
>
> I am trying to make a function similar to genlib but which goes
> recursively through folders to find .sci files, compile them and put
> them in a given target build folder.
>
> The idea is that I would like to be able to organize my 'macros'
> folder while still being able to generate a library. In particular, I
> would like to have that kind of folder organization :
>
> .../...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20161015/e5199636/attachment.htm>
-------------- next part --------------
// "genlib" a folder of macros with subfolders of macros
// The name of the folder yields the name of the main library (+"lib")
// The name of each subfolder yields the name of the related sublibrary (+"lib")
//
// Put this script in the main macros folder and exec() it from anywhere.
path = get_absolute_file_path("buildmacros.sce")
tmp = strsplit(fileparts(path),filesep());
dirs = dir(path);
dirs = dirs.name(dirs.isdir)'
genlib(tmp($-1)+"lib", path, %t);
for d = dirs
genlib(d+"lib",path+d, %t);
end
More information about the users
mailing list