diff options
author | David Lamparter <equinox@opensourcerouting.org> | 2017-08-04 09:59:00 +0200 |
---|---|---|
committer | David Lamparter <equinox@opensourcerouting.org> | 2017-08-04 11:09:50 +0200 |
commit | 306ed6816a685aabe3e0d0e93b83f3c8305cdc0f (patch) | |
tree | 64dcda827cb221d8dac1d3d2257d919e8a8464d6 /tests | |
parent | build: non-recursive nhrpd (diff) | |
download | frr-306ed6816a685aabe3e0d0e93b83f3c8305cdc0f.tar.xz frr-306ed6816a685aabe3e0d0e93b83f3c8305cdc0f.zip |
build: pre-generate built headers in configure
zebra.h includes route_types.h, which means almost all of our Makefile
targets have a dependency on route_types.h. While BUILT_SOURCES ensures
that this dependency is fulfilled on a "make all", this doesn't work
when building specific targets (e.g. "make lib/libfrr.la").
There seems to be no good way to add a dependency on everything, so the
best fix for this is to just generate the file during ./configure.
(The Makefile rule is still there, so if route_types.txt is changed,
route_types.h will be rebuilt.)
This only affects "initial" builds from a clean directory and/or builds
with --disable-dependency-tracking; other than that gcc will output
Makefile dependencies during compilation so that route_types.h will
become a dependency for all output files.
gitversion.h has the same problem on a smaller scope.
command_lex.h & command_parse.h *don't* have the problem because they're
only used in specific files, and these files have the dependency
explicitly listed in the Makefile. Hence, they can also be removed from
BUILT_SOURCES.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'tests')
0 files changed, 0 insertions, 0 deletions