From 50dc250aa3075eead9cdd72843a82f8c4a6f3df5 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Sun, 16 Jul 2017 13:07:12 +0100 Subject: build: Add generated enumeration files to BUILT_SOURCES Dependency tracking in Automake is a side effect of compilation. This means two things: * headers are ignored when it comes to building dependencies, even when listed inside sources for a binary target * generated headers included inside source files are not used as a dependency until compilation of the source file completes successfully If binary target L depends on a source file C, and that source file includes a generated header H, there is no guarantee that the header H will be available by the time source file C is built, because the dependency is extracted from C itself, not from the list of sources. Additionally, any header H does not count towards the dependency resolution because headers are only used for ancillary features, like extracting tags. For this reason, Automake has `BUILT_SOURCES`. This is a bit of obscure corner of Automake that trips up many who are not practitioners of the Dark Arts. More information is available here: https://www.gnu.org/software/automake/manual/html_node/Built-Sources-Example.html#Built-Sources-Example --- src/libtracker-sparql/Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libtracker-sparql/Makefile.am b/src/libtracker-sparql/Makefile.am index 5a96f8186..34cc893b7 100644 --- a/src/libtracker-sparql/Makefile.am +++ b/src/libtracker-sparql/Makefile.am @@ -102,7 +102,8 @@ vapi_DATA = \ tracker-sparql-$(TRACKER_API_VERSION).deps BUILT_SOURCES = \ - libtracker_sparql_intermediate_vala_la_vala.stamp + libtracker_sparql_intermediate_vala_la_vala.stamp \ + $(ENUM_SOURCES) MAINTAINERCLEANFILES = \ tracker-sparql-$(TRACKER_API_VERSION).vapi \ -- cgit v1.2.1