[Spice-devel] [PATCH] Fix build when builddir != srcdir
Frediano Ziglio
fziglio at redhat.com
Tue Nov 15 18:35:07 UTC 2016
>
> The following build error occurs when building outside of the source
> directory:
>
> glib-mkenums --template spice-server-enums.tmpl.c ../../server/spice-server.h
> > spice-server-enums.c
> Can't open spice-server-enums.tmpl.c: No such file or directory
> Makefile:1111: recipe for target 'spice-server-enums.c' failed
>
> GNU Make does some magic to know that the spice-server-enums.tmpl.c file
> listed in the prerequisites for the rule is located in the srcdir. But
> when we use the bare filename in the rule definition, it assumes that it is
> in the builddir. If there was an automatic variable that we could use
> (like $< that we already use for the first prerequisite), the srdir
> would be automatically prepended to the filename, but there's nothing we
> can use for the second prerequisite. So we need to explicitly specify
> the location of the input template file.
> ---
> server/Makefile.am | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/server/Makefile.am b/server/Makefile.am
> index 972f3e2..949e56a 100644
> --- a/server/Makefile.am
> +++ b/server/Makefile.am
> @@ -202,10 +202,10 @@ libspice_server_la_LIBADD = libserver.la
> libspice_server_la_SOURCES =
>
> spice-server-enums.c: spice-server.h spice-server-enums.tmpl.c
> - $(AM_V_GEN)glib-mkenums --template spice-server-enums.tmpl.c $< > $@
> + $(AM_V_GEN)glib-mkenums --template $(srcdir)/spice-server-enums.tmpl.c $< >
> $@
>
> spice-server-enums.h: spice-server.h spice-server-enums.tmpl.h
> - $(AM_V_GEN)glib-mkenums --template spice-server-enums.tmpl.h $< > $@
> + $(AM_V_GEN)glib-mkenums --template $(srcdir)/spice-server-enums.tmpl.h $< >
> $@
>
> EXTRA_DIST = \
> spice-bitmap-utils.tmpl.c \
Actually there may be a trick:
spice-server-enums.h: spice-server-enums.tmpl.h spice-server.h
$(AM_V_GEN)glib-mkenums --template $^ > $@
the $^ should be replaced by both so the command should receive the
right files.
(didn't try, my spice directory is in a messy state at the moment).
Frediano
More information about the Spice-devel
mailing list