Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.0.0 - English


tbx_make

Builds a toolbox having a standard structure (EXPERIMENTAL)

Syntax

tbx_make()
tbx_make(tbx_path)
tbx_make(tbx_path, sections)

Arguments

tbx_path

a single string: absolute or relative path to the toolbox root directory.

Default path is the current working directory.

sections

matrix of strings: Names of the toolbox sections to be built, amongst ["macros", "help", "src", "sci_gateway", "localization"]. "*" can be used to force building all available sections instead of running the builder script when it exists.

Default or [] will select all available sections in case of missing builder script.

Description

The short name (id) tbx_name of the toolbox is retrieved as the basename of the etc/*.start file. This file is mandatory, even if it is empty.

tbx_make builds the toolbox pointed to by its root directory tbx_path, by executing an explicit or default builder script.

If some sections are explicitly required to build, tbx_make(..) runs a default builder for each of them.

Otherwise, tbx_path is scanned for a script named like build*.sce.

  • If such a file is found, tbx_make executes it, and that's it.
  • Otherwise, all available toolbox sections are built with the default builders.

Default builders process the sections of the toolbox according to the following conventions:

macros/ All macros files *.sci available in the ~/macros/* directory are compiled and gathered into a library named tbx_namelib (Please see tbx_builder_macros).

Unless there is a custom macros builder script in ~/macros/*, no automatical recursive processing aiming to build sublibraries in subdirectories is performed.
src/ Functional external code in src is compiled. (Please see tbx_builder_src)
sci_gateway/ gateway functions in sci_gateway are compiled. (Please see tbx_builder_gateway)
localization Localization files are built and/or postprocessed (Please see tbx_build_localization)
help/ Help pages are generated from XML source files stored in ~/help/* available languages subdirectories (en_US, fr_FR, etc) (Please see tbx_builder_help).

This default behaviour mimics the builder.sce script provided in the toolbox_skeleton template module available in SCI/contrib.

loader.sce, unloader.sce and cleaner.sce scripts are always created at the toolbox's root.

Examples

// The working directory is set at the toolbox root:
tbx_make()          // builds the toolbox with the toolbox builder (if any),
                    //  or for all sections with default builders otherwise.
tbx_make .  macros  // builds only its macros section from files in ./macros/
tbx_make .  *       // builds all available sections, without using the toolbox builder

// Builds the toolbox located in path/to/mytoolbox directory
tbx_make("path/to/mytoolbox")

// Compiles macros help and src for the toolbox located in path/to/mytoolbox
tbx_make("path/to/mytoolbox", ["macros", "help", "src"])

See Also

  • tbx_builder_macros — Create library(es) of a toolbox for its functions in Scilab language
  • tbx_builder_help — Build help pages of a toolbox, with possible subsections (toolbox compilation process)
  • tbx_build_localization — Builds or updates localization .po and .mo files of a toolbox
  • tbx_builder_src — Builds the user source code (non-gateway) in src/ subdirectory.
  • tbx_builder_gateway — Builds the user gateway code in sci_gateway/ subdirectory.
  • tbx_build_blocks — Compile Xcos blocks (toolbox compilation process)
  • tbx_build_loader — Generate loader and unloader scripts (toolbox compilation process)
  • tbx_build_cleaner — Generate a cleaner.sce script (toolbox compilation process)

History

VersionDescription
6.0.0 tbx_make() introduced.
6.0.1 The existing builder is run only if no specific sections are requested.
Report an issue
<< Helper functions Modules manager Multilinguism >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Mar 27 11:52:51 GMT 2023