diff --git a/doc/jbuild.rst b/doc/jbuild.rst index c9067f66..78e8bb63 100644 --- a/doc/jbuild.rst +++ b/doc/jbuild.rst @@ -843,6 +843,10 @@ syntax: - ``(file )`` or simply ````: depend on this file - ``(alias )``: depend on the construction of this alias, for instance: ``(alias src/runtest)`` +- ``(alias_rec )``: depend on the construction of this + alias recursively in all children directories wherever it is + defined. For instance: ``(alias_rec src/runtest)`` might depend on + ``(alias src/runtest)``, ``(alias src/foo/bar/runtest)``, ... - ``(glob_files )``: depend on all files matched by ````, see the :ref:`glob ` for details - ``(files_recursively_in )``: depend on all files in the subtree with root diff --git a/doc/terminology.rst b/doc/terminology.rst index 0e724950..cd373b48 100644 --- a/doc/terminology.rst +++ b/doc/terminology.rst @@ -43,11 +43,12 @@ Terminology - **build context root**: the root of a build context named ``foo`` is ``/_build/`` -- **alias**: an alias is a build target that doesn't produce any file - and has configurable dependencies. Alias are per-directory and some - are recursive; asking an alias to be built in a given directory will - trigger the construction of the alias in all children directories - recursively. The most interesting ones are: +- **alias**: an alias is a build target that doesn't produce any file + and has configurable dependencies. Aliases are + per-directory. However, on the command line, asking for an alias to + be built in a given directory will trigger the construction of the + alias in all children directories recursively. Jbuilder defines the + following standard aliases: - ``runtest`` which runs user defined tests - ``install`` which depends on everything that should be installed diff --git a/doc/usage.rst b/doc/usage.rst index a3b5965d..2232e4f8 100644 --- a/doc/usage.rst +++ b/doc/usage.rst @@ -125,8 +125,9 @@ Aliases ------- Targets starting with a ``@`` are interpreted as aliases. For instance -``@src/runtest`` means the alias ``src/runtest``. If you want to refer -to a target starting with a ``@``, simply write: ``./@foo``. +``@src/runtest`` means the alias ``runtest`` in all descendant of +``src`` where it is defined. If you want to refer to a target starting +with a ``@``, simply write: ``./@foo``. Note that an alias not pointing to the ``_build`` directory always depends on all the corresponding aliases in build contexts.