qapi: Reduce Makefile boilerplate
commitbf582c3461b23b1b9f1565d0ffbdc9e1ce076f8e
authorEric Blake <eblake@redhat.com>
Fri, 16 Nov 2018 20:00:16 +0000 (16 14:00 -0600)
committerLaurent Vivier <laurent@vivier.eu>
Tue, 11 Dec 2018 17:28:46 +0000 (11 18:28 +0100)
treeeeede0f962552ccff9754e9c956586582a32f4e9
parentafb73d575d821b48456fd8ef9df4c504b0cd84f4
qapi: Reduce Makefile boilerplate

Adding a new qapi module had some rather tedious repetition to
wire it into Makefile, Makefile.objs, and .gitignore (for example,
see commit bf42508f and its followup b61acdec). For make, add some
indirection by taking advantage of GNU Make string processing to
expand a list of module names into all the required artifacts, so
that future additions of a new module need only touch the list of
module names.  And for gitignore, use globs to cover all generated
file names.

The list has to live in Makefile.objs, due to the way that
our unnest-vars macro slirps in that file without remembering
any definition of $(QAPI_MODULES) from Makefile.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Tested-by: Yuval Shaia <yuval.shaia@oracle.com>
Message-Id: <20181116200016.2080785-1-eblake@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
.gitignore
Makefile
Makefile.objs