
                                   Artifacts


                                 Norman Feske


The _artifacts_ file defines the build artifacts produced by the build system.


Syntax
######

The file consists of an arbitrary number of lines where each line has the
following structure:

! [<container>:] <selector>

The <selector> is the path to a file or directory within the build directory
to be featured in the binary archive.

The optional <container> specifies the form of how the build artifacts should
be stored in the binary archive. If omitted, each selected file becomes a
distinct ROM module in the binary archive. By specifying a <container>,
multiple files can be aggregated into a single archive file, which is then
supplied to Genode as a single ROM module.

Multiple lines can refer to the same container, appending the artifacts
to the same container.


Examples
########

:install/bin/ls: The _ls_ executable binary is taken from the build directory's _install/bin/_
  subdirectory as a single ROM module named _ls_.

:install/bin/: All executable binaries found at the build directory's _install/bin/_
  subdirectory are turned into ROM modules.

:coreutils.tar: install/bin/ls: The single executable binary _ls_ is archived at the root of the
  _coreutils.tar_ archive, which, in turn, becomes available as ROM module.

:coreutils.tar: install: The entire _install_ subdirectory within the build directory is archived
  into the _coreutils.tar_ archive. The archive contains an _install_ directory
  at the root of the archive.

:coreutils.tar: install/: All files within the build directory's _install_ subdirectory are archived
  into the _coreutils.tar_ archive. The files are located at the root of the
  archive.

:coreutils.tar/usr/local/bin/: install/bin/ls:
:coreutils.tar/usr/local/bin/: install/bin/cp: The executable binaries _ls_ and _cp_ are archived within _coreutils.tar_.
  The archive contains two entries _/usr/local/bin/ls_ and _/usr/local/bin/cp_.

SEE ALSO
########

add-depot-user, api, build-systems, config, import, index, overview, runtime, targets

