mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 12:09:22 +00:00
build: extract xrefs
Signed-off-by: David Lamparter <equinox@diac24.net>
This commit is contained in:
parent
36a8fdfd74
commit
a1e6ab1e93
1
.gitignore
vendored
1
.gitignore
vendored
@ -59,6 +59,7 @@
|
||||
*.cg.json
|
||||
*.cg.dot
|
||||
*.cg.svg
|
||||
*.xref
|
||||
|
||||
### gcov outputs
|
||||
|
||||
|
@ -441,6 +441,26 @@ SUFFIXES += _clippy.c
|
||||
.c_clippy.c:
|
||||
$(AM_V_CLIPPY) $(CLIPPY) $(top_srcdir)/python/clidef.py -o $@ $<
|
||||
|
||||
# xrelfo, the ELF xref extractor
|
||||
|
||||
AM_V_XRELFO = $(am__v_XRELFO_$(V))
|
||||
am__v_XRELFO_ = $(am__v_XRELFO_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_XRELFO_0 = @echo " XRELFO " $@;
|
||||
am__v_XRELFO_1 =
|
||||
|
||||
SUFFIXES += .xref
|
||||
%.xref: % $(CLIPPY)
|
||||
$(AM_V_XRELFO) $(CLIPPY) $(top_srcdir)/python/xrelfo.py -Wlog-format -o $@ $<
|
||||
|
||||
# dependencies added in python/makefile.py
|
||||
frr.xref:
|
||||
$(AM_V_XRELFO) $(CLIPPY) $(top_srcdir)/python/xrelfo.py -o $@ $^
|
||||
all-am: frr.xref
|
||||
|
||||
clean-xref:
|
||||
-rm -rf $(xrefs) frr.xref
|
||||
clean-local: clean-xref
|
||||
|
||||
## automake's "ylwrap" is a great piece of GNU software... not.
|
||||
.l.c:
|
||||
$(AM_V_LEX)$(am__skiplex) $(LEXCOMPILE) $<
|
||||
|
@ -31,6 +31,10 @@ clippy_scan = mv["clippy_scan"].strip().split()
|
||||
for clippy_file in clippy_scan:
|
||||
assert clippy_file.endswith(".c")
|
||||
|
||||
xref_targets = []
|
||||
for varname in ["bin_PROGRAMS", "sbin_PROGRAMS", "lib_LTLIBRARIES", "module_LTLIBRARIES"]:
|
||||
xref_targets.extend(mv[varname].strip().split())
|
||||
|
||||
# check for files using clippy but not listed in clippy_scan
|
||||
if args.dev_build:
|
||||
basepath = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
@ -124,6 +128,14 @@ out_lines.append("# clippy{\n# main clippy targets")
|
||||
for clippy_file in clippy_scan:
|
||||
out_lines.append(clippydep.substitute(clippybase=clippy_file[:-2]))
|
||||
|
||||
out_lines.append("")
|
||||
out_lines.append("xrefs = %s" % (" ".join(["%s.xref" % target for target in xref_targets])))
|
||||
out_lines.append("frr.xref: $(xrefs)")
|
||||
out_lines.append("")
|
||||
|
||||
#frr.xref: $(bin_PROGRAMS) $(sbin_PROGRAMS) $(lib_LTLIBRARIES) $(module_LTLIBRARIES)
|
||||
# $(AM_V_XRELFO) $(CLIPPY) $(top_srcdir)/python/xrelfo.py -o $@ $^
|
||||
|
||||
out_lines.append("")
|
||||
out_lines.extend(bcdeps)
|
||||
out_lines.append("")
|
||||
|
Loading…
Reference in New Issue
Block a user