[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH] build-sys: add make 'help' target
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [RFC PATCH] build-sys: add make 'help' target |
Date: |
Thu, 18 Aug 2016 06:36:59 -0400 (EDT) |
Hi
----- Original Message -----
> On 20 June 2016 at 16:19, <address@hidden> wrote:
> > From: Marc-André Lureau <address@hidden>
> >
> > Add a make 'help', to print a summary of the main Makefile targets.
> > The format is loosely inspired by Linux make 'help' output.
> >
> > Signed-off-by: Marc-André Lureau <address@hidden>
> > ---
> > Makefile | 33 +++++++++++++++++++++++++++++++++
> > 1 file changed, 33 insertions(+)
> >
> > diff --git a/Makefile b/Makefile
> > index 53e4119..c6bf3d6 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -666,3 +666,36 @@ endif
> > -include $(wildcard *.d tests/*.d)
> >
> > include $(SRC_PATH)/tests/docker/Makefile.include
> > +
> > +.PHONY: help
> > +help:
> > +
> > + @echo 'Cleaning targets:'
> > + @echo ' clean - Remove most generated files but keep
> > the config'
> > + @echo ' distclean - Remove all generated files'
> > + @echo ' dist - Build a distributable tarball'
>
> There's a cute trick which will let us put these help strings
> next to the actual makefile targets, which might make it easier
> for us to remember to update and add them: you have a rune
> something like
> help: ## Show this help.
> @fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//'
> |
> sed -e 's/##//'
>
> and then you can annotate all your targets with their doc strings:
>
> check: ## Run all tests
>
> Idea from https://gist.github.com/prwhite/8168133
>
> We'd need to elaborate it somewhat to add categories, but you get the
> general idea.
>
> Does this seem useful, or like overkill ?
Interesting, in fact I use a similar trick in some of my shell scripts:
https://github.com/elmarco/virgl-ci/blob/master/virgl-test.sh#L258
But tbh, I don't think it's so great, it's a bit overkill indeed.