Re: [LTP] [PATCH v4 4/5] Makefile: Update 'doc' target, add 'doc-clean'

Petr Vorel
2025-04-07T14:53:35Z

> Hi Petr,

> On Fri Mar 28, 2025 at 6:57 AM -03, Petr Vorel wrote:
> > 'doc' target previously run docparse documentation. Point it to doc/
> > directory so that it build sphinx docs. doc/ dir has metadata/ dir as
> > dependency, no need to specify it. Call also '.venv' target.

> > NOTE: it's still possible to avoid virtualenv by calling 'make -C doc'

> > Add 'doc-clean': to remove only generated data (not optional .venv).

> > Signed-off-by: Petr Vorel <pvorel@suse.cz>
> > ---
> > Changes in v4:
> > * Use 'setup' instead of '.venv' in the top level doc target

> > Makefile | 8 +++++++-
> > 1 file changed, 7 insertions(+), 1 deletion(-)

> > diff --git a/Makefile b/Makefile
> > index 5066789349..6aa77e1b9b 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -170,7 +170,13 @@ INSTALL_TARGETS += $(addprefix $(DESTDIR)/$(bindir)/,$(BINDIR_INSTALL_SCRIPTS))
> > $(INSTALL_TARGETS): $(INSTALL_DIR) $(DESTDIR)/$(bindir)

> > .PHONY: doc
> > -doc: metadata-all
> > +doc:
> > + $(MAKE) -C $(abs_builddir)/doc setup
> > + $(MAKE) -C $(abs_builddir)/doc
> > +
> > +.PHONY: doc-clean
> > +doc-clean:
> > + $(MAKE) -C $(abs_builddir)/doc clean

> IMO the top-level clean and distclean targets should be responsible of
> calling the respective targets in doc/Makefile, what do you think?

Well, we have in the top level other clean targets:
lib-clean, libs-clean, ac-clean, ac-distclean, ac-maintainer-clean.
Therefore I thought add at least doc-clean would be good. I ignored
doc-distclean.

Most of LTP is compiled and therefore handled by
include/mk/generic_leaf_target.mk. kirk and sparse are special (submodule anyway),
but even they allows to use generic_leaf_target.mk. I'm not sure if I want to
rewrite whole doc/Makefile to support generic_leaf_target.mk, I should, but my
goal was to simplify creating venv. I guess I drop this atm and send v5 and
without it and get to it later.

Kind regards,
Petr

The rest of LTP final directories is handled by
include/mk/generic_leaf_target.mk, but doc/ is somehow special, that's why I
added these targets.

If you call make clean or distclean

> > .PHONY: check
> > check: $(CHECK_TARGETS)