LAUTODEP

NAME
SYNOPSYS
DESCRIPTION
OPTIONS
FILES
SEE ALSO
COPYRIGHT

NAME

lautodep - mimic open-lmake job prelude

SYNOPSYS

lautodep [OPTION]... cmd args...

DESCRIPTION

lautodep is used by ldebug to launch jobs in an adequate environment. It may also be useful when designing a flow to try various options. It allows to see what information (deps and targets) are recorded by code instrumentation open-lmake injects in jobs to track activity without actually run a job under its control.

The trace generated by lautodep is halfly digested in the sens that :

Only a summary of pertinent accesses are provided, unlike strace(1) that can generate a line for each access. There is a line for each accessed file, which may be a read or nothing, possibly followed by a write or an unlink.

Accesses are tracked as for open-lmake, i.e. files outside the repo are not tracked, except read accesses in a source dir.

When symbolic links are supported, they are resolved according to the required support level and additional deps may be generated when needed for open-lmake to work properly.

It is not fully digested as dep/target flags that are provided in rules are not taken into account. A full digestion to mimic open-lmake would require a whole lot of information that would make the user interface significantly heavier, defeating the usefulness of this tool.

Accesses are split into 2 categories :

Targets : a prefix mentions the type of target, unlink versus write, preceded by a read or not.

Deps : a kind of ascii art render parallel accesses.

OPTIONS

-a, --auto-mkdir

Mimic setting the rule attribute auto_mkdir=True.

-c abs_dir, --chroot-dir=abs_dir

Mimic setting the rule attribute chroot_dir=abs_dir.

-d dir, --cwd=dir

Mimic setting the rule attribute cwd=dir.

-e list, --env=list

list must be provided as a tuple or list of str using the python syntax (which most probably requires shell quoting). Listed variables are kept from the environment.

-k, --keep-tmp

Dont erase tmp dir after execution.

-l key, --link-support=key

Mimic setting the config attribute link_support=key.

-m key, --autodep-method=key

Mimic setting the rule attribute autodep=key.

-o file, --out=file

Write access info (deps and targets) to file.

-s list, --source-dirs=list

list must be provided as a tuple or list of str using the python syntax (which most probably requires shell quoting). Mimic setting the rule attribute source_dirs=list.

-t abs_dir, --tmp-dir=abs_dir

This option is compulsery. Set the physical tmp dir. The tmp dir is cleaned (i.e. all files inside it are rm’ed) before execution. It is also cleaned after execution unless the --keep-tmp or -k is given.

-L abs_dir, --lmake-view=abs_dir

Mimic setting the rule attribute lmake_view=abs_dir.

-R abs_dir, --repo-view=abs_dir

Mimic setting the rule attribute repo_view=abs_dir.

-T abs_dir, --tmp-view=abs_dir

Mimic setting the rule attribute tmp_view=abs_dir.

-V dict, --views=dict

dict must be provided as a dict mapping str to view descriptions using the python syntax (which most probably requires shell quoting). Mimic setting the rule attribute views=dict.

FILES

The files Lmakefile.py or Lmakefile/__init__.py are searched in the current dir and in parent dirs. If a single one is found, this determines the root of the repo. If several are found, the existence of an LMAKE dir is checked. If a single one is found, this determines the root of the repo. In other cases, lautodep will not start.

SEE ALSO

lcheck_deps(1), ldebug(1), ldecode(1), ldepend(1), lencode(1), lforget(1), lmake(1), lmark(1), lrepair(1), lrun_cc(1), lshow(1), ltarget(1), xxhsum(1)

The python module lmake.

The full open-lmake documentation in <open-lmake-installation-dir>/docs/index.html.

COPYRIGHT

Copyright © 2023-2025, Doliam. This file is part of open-lmake.

open-lmake is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.

open-lmake is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.