diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2020-04-27 15:06:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-27 15:06:19 +0200 |
commit | abe94d6562ba70f8b8a6997a7b0fac381e0dcfdd (patch) | |
tree | 5c1629145d54f12926ea4c3e687729d4e25c7ce9 | |
parent | Merge pull request #6249 from chiragshah6/yang_nb5 (diff) | |
parent | build: silence idiotic libtool warnings (diff) | |
download | frr-abe94d6562ba70f8b8a6997a7b0fac381e0dcfdd.tar.xz frr-abe94d6562ba70f8b8a6997a7b0fac381e0dcfdd.zip |
Merge pull request #6298 from opensourcerouting/build-assorted-20200423
build: spring cleaning
-rw-r--r-- | Makefile.am | 3 | ||||
-rw-r--r-- | babeld/subdir.am | 6 | ||||
-rw-r--r-- | bfdd/ptm_adapter.c | 9 | ||||
-rw-r--r-- | bfdd/subdir.am | 13 | ||||
-rw-r--r-- | bgpd/subdir.am | 58 | ||||
-rwxr-xr-x | configure.ac | 11 | ||||
-rw-r--r-- | eigrpd/subdir.am | 17 | ||||
-rw-r--r-- | isisd/subdir.am | 17 | ||||
-rw-r--r-- | ldpd/subdir.am | 7 | ||||
-rw-r--r-- | lib/srv6.c | 2 | ||||
-rw-r--r-- | lib/subdir.am | 49 | ||||
-rw-r--r-- | lib/zlog.h | 2 | ||||
-rw-r--r-- | m4/ax_python.m4 | 2 | ||||
-rw-r--r-- | nhrpd/subdir.am | 2 | ||||
-rw-r--r-- | ospf6d/subdir.am | 30 | ||||
-rw-r--r-- | ospfd/subdir.am | 21 | ||||
-rw-r--r-- | pbrd/subdir.am | 13 | ||||
-rw-r--r-- | pimd/subdir.am | 7 | ||||
-rw-r--r-- | python/firstheader.py | 30 | ||||
-rw-r--r-- | python/makefile.py | 100 | ||||
-rw-r--r-- | python/makevars.py | 50 | ||||
-rw-r--r-- | ripd/subdir.am | 11 | ||||
-rw-r--r-- | ripngd/subdir.am | 11 | ||||
-rw-r--r-- | sharpd/subdir.am | 7 | ||||
-rw-r--r-- | staticd/subdir.am | 7 | ||||
-rw-r--r-- | tests/subdir.am | 11 | ||||
-rwxr-xr-x | tools/symalyzer.py | 46 | ||||
-rw-r--r-- | vrrpd/subdir.am | 7 | ||||
-rwxr-xr-x | vtysh/extract.pl.in | 4 | ||||
-rw-r--r-- | vtysh/subdir.am | 4 | ||||
-rw-r--r-- | watchfrr/subdir.am | 7 | ||||
-rw-r--r-- | zebra/dplane_fpm_nl.c | 5 | ||||
-rw-r--r-- | zebra/subdir.am | 52 |
33 files changed, 382 insertions, 239 deletions
diff --git a/Makefile.am b/Makefile.am index 6dc8e0d35..1e3311fa7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -110,6 +110,7 @@ dist_examples_DATA = dist_yangmodels_DATA = man_MANS = vtysh_scan = +clippy_scan = ## libtool, the self-made GNU scourge ## ... this should fix relinking @@ -183,6 +184,8 @@ EXTRA_DIST += \ \ python/clidef.py \ python/clippy/__init__.py \ + python/makevars.py \ + python/makefile.py \ \ redhat/frr.logrotate \ redhat/frr.pam \ diff --git a/babeld/subdir.am b/babeld/subdir.am index dd46675f2..7827e7dc5 100644 --- a/babeld/subdir.am +++ b/babeld/subdir.am @@ -7,9 +7,9 @@ noinst_LIBRARIES += babeld/libbabel.a sbin_PROGRAMS += babeld/babeld dist_examples_DATA += babeld/babeld.conf.sample vtysh_scan += \ - $(top_srcdir)/babeld/babel_interface.c \ - $(top_srcdir)/babeld/babel_zebra.c \ - $(top_srcdir)/babeld/babeld.c \ + babeld/babel_interface.c \ + babeld/babel_zebra.c \ + babeld/babeld.c \ # end endif diff --git a/bfdd/ptm_adapter.c b/bfdd/ptm_adapter.c index 4c88922b8..7efbd2c7b 100644 --- a/bfdd/ptm_adapter.c +++ b/bfdd/ptm_adapter.c @@ -24,6 +24,7 @@ #include "lib/queue.h" #include "lib/stream.h" #include "lib/zclient.h" +#include "lib/printfrr.h" #include "lib/bfd.h" @@ -105,12 +106,12 @@ static void debug_printbpc(const struct bfd_peer_cfg *bpc, const char *fmt, ...) snprintf(addr[2], sizeof(addr[2]), " vrf:%s", bpc->bpc_vrfname); if (bpc->bpc_has_recvinterval) - snprintf(timers[0], sizeof(timers[0]), " rx:%" PRIu64, - bpc->bpc_recvinterval); + snprintfrr(timers[0], sizeof(timers[0]), " rx:%" PRIu64, + bpc->bpc_recvinterval); if (bpc->bpc_has_txinterval) - snprintf(timers[1], sizeof(timers[1]), " tx:%" PRIu64, - bpc->bpc_recvinterval); + snprintfrr(timers[1], sizeof(timers[1]), " tx:%" PRIu64, + bpc->bpc_recvinterval); if (bpc->bpc_has_detectmultiplier) snprintf(timers[2], sizeof(timers[2]), " detect-multiplier:%d", diff --git a/bfdd/subdir.am b/bfdd/subdir.am index 254329e22..a79620c45 100644 --- a/bfdd/subdir.am +++ b/bfdd/subdir.am @@ -6,8 +6,8 @@ if BFDD noinst_LIBRARIES += bfdd/libbfd.a sbin_PROGRAMS += bfdd/bfdd dist_examples_DATA += bfdd/bfdd.conf.sample -vtysh_scan += $(top_srcdir)/bfdd/bfdd_vty.c -vtysh_scan += $(top_srcdir)/bfdd/bfdd_cli.c +vtysh_scan += bfdd/bfdd_vty.c +vtysh_scan += bfdd/bfdd_cli.c man8 += $(MANBUILD)/frr-bfdd.8 endif @@ -25,11 +25,10 @@ bfdd_libbfd_a_SOURCES = \ bfdd/ptm_adapter.c \ # end -bfdd/bfdd_vty_clippy.c: $(CLIPPY_DEPS) -bfdd/bfdd_vty.$(OBJEXT): bfdd/bfdd_vty_clippy.c - -bfdd/bfdd_cli_clippy.c: $(CLIPPY_DEPS) -bfdd/bfdd_cli.$(OBJEXT): bfdd/bfdd_cli_clippy.c +clippy_scan += \ + bfdd/bfdd_cli.c \ + bfdd/bfdd_vty.c \ + # end noinst_HEADERS += \ bfdd/bfdctl.h \ diff --git a/bgpd/subdir.am b/bgpd/subdir.am index ff15248a9..6b5c0fe71 100644 --- a/bgpd/subdir.am +++ b/bgpd/subdir.am @@ -12,29 +12,29 @@ dist_examples_DATA += \ bgpd/bgpd.conf.vnc.sample \ # end vtysh_scan += \ - $(top_srcdir)/bgpd/bgp_bfd.c \ - $(top_srcdir)/bgpd/bgp_debug.c \ - $(top_srcdir)/bgpd/bgp_dump.c \ - $(top_srcdir)/bgpd/bgp_evpn_vty.c \ - $(top_srcdir)/bgpd/bgp_filter.c \ - $(top_srcdir)/bgpd/bgp_mplsvpn.c \ - $(top_srcdir)/bgpd/bgp_nexthop.c \ - $(top_srcdir)/bgpd/bgp_route.c \ - $(top_srcdir)/bgpd/bgp_routemap.c \ - $(top_srcdir)/bgpd/bgp_vty.c \ - $(top_srcdir)/bgpd/bgp_flowspec_vty.c \ + bgpd/bgp_bfd.c \ + bgpd/bgp_debug.c \ + bgpd/bgp_dump.c \ + bgpd/bgp_evpn_vty.c \ + bgpd/bgp_filter.c \ + bgpd/bgp_mplsvpn.c \ + bgpd/bgp_nexthop.c \ + bgpd/bgp_route.c \ + bgpd/bgp_routemap.c \ + bgpd/bgp_vty.c \ + bgpd/bgp_flowspec_vty.c \ # end # can be loaded as DSO - always include for vtysh -vtysh_scan += $(top_srcdir)/bgpd/bgp_rpki.c -vtysh_scan += $(top_srcdir)/bgpd/bgp_bmp.c +vtysh_scan += bgpd/bgp_rpki.c +vtysh_scan += bgpd/bgp_bmp.c if ENABLE_BGP_VNC vtysh_scan += \ - $(top_srcdir)/bgpd/rfapi/bgp_rfapi_cfg.c \ - $(top_srcdir)/bgpd/rfapi/rfapi.c \ - $(top_srcdir)/bgpd/rfapi/rfapi_vty.c \ - $(top_srcdir)/bgpd/rfapi/vnc_debug.c \ + bgpd/rfapi/bgp_rfapi_cfg.c \ + bgpd/rfapi/rfapi.c \ + bgpd/rfapi/rfapi_vty.c \ + bgpd/rfapi/vnc_debug.c \ # end endif if SNMP @@ -217,18 +217,12 @@ bgpd_bgpd_bmp_la_SOURCES = bgpd/bgp_bmp.c bgpd_bgpd_bmp_la_LIBADD = lib/libfrrcares.la bgpd_bgpd_bmp_la_LDFLAGS = -avoid-version -module -shared -export-dynamic -bgpd/bgp_evpn_vty_clippy.c: $(CLIPPY_DEPS) -bgpd/bgp_evpn_vty.$(OBJEXT): bgpd/bgp_evpn_vty_clippy.c -bgpd/bgp_vty_clippy.c: $(CLIPPY_DEPS) -bgpd/bgp_vty.$(OBJEXT): bgpd/bgp_vty_clippy.c -bgpd/bgp_route_clippy.c: $(CLIPPY_DEPS) -bgpd/bgp_route.$(OBJEXT): bgpd/bgp_route_clippy.c -bgpd/bgp_debug_clippy.c: $(CLIPPY_DEPS) -bgpd/bgp_debug.$(OBJEXT): bgpd/bgp_debug_clippy.c -bgpd/bgp_routemap_clippy.c: $(CLIPPY_DEPS) -bgpd/bgp_routemap.$(OBJEXT): bgpd/bgp_routemap_clippy.c -bgpd/bgp_rpki_clippy.c: $(CLIPPY_DEPS) -$(AUTOMAKE_DUMMY)bgpd/bgpd_bgpd_rpki_la-bgp_rpki.lo: bgpd/bgp_rpki_clippy.c -$(AUTOMAKE_DUMMY)bgpd/bgpd_rpki_la-bgp_rpki.lo: bgpd/bgp_rpki_clippy.c -bgpd/bgp_bmp_clippy.c: $(CLIPPY_DEPS) -bgpd/bgp_bmp.lo: bgpd/bgp_bmp_clippy.c +clippy_scan += \ + bgpd/bgp_bmp.c \ + bgpd/bgp_debug.c \ + bgpd/bgp_evpn_vty.c \ + bgpd/bgp_route.c \ + bgpd/bgp_routemap.c \ + bgpd/bgp_rpki.c \ + bgpd/bgp_vty.c \ + # end diff --git a/configure.ac b/configure.ac index 6f7ca9def..e1e23e224 100755 --- a/configure.ac +++ b/configure.ac @@ -428,6 +428,9 @@ LT_INIT _LT_CONFIG_LIBTOOL([ patch -N -i "${srcdir}/m4/libtool-whole-archive.patch" libtool >&AS_MESSAGE_LOG_FD || \ AC_MSG_WARN([Could not patch libtool for static linking support. Loading modules into a statically linked daemon will fail.]) + sed -e 's%func_warning "relinking%true #\0%' -i libtool || true + sed -e 's%func_warning "remember to run%true #\0%' -i libtool || true + sed -e 's%func_warning ".*has not been installed in%true #\0%' -i libtool || true ]) if test "$enable_static_bin" = "yes"; then AC_LDFLAGS="-static" @@ -2402,7 +2405,13 @@ AM_CONDITIONAL([STATICD], [test "$enable_staticd" != "no"]) AM_CONDITIONAL([FABRICD], [test "$enable_fabricd" != "no"]) AM_CONDITIONAL([VRRPD], [test "$enable_vrrpd" != "no"]) -AC_CONFIG_FILES([Makefile],[sed -e 's/^#AUTODERP# //' -i Makefile]) +AC_CONFIG_FILES([Makefile],[ + test "$enable_dev_build" = "yes" && makefile_devbuild="--dev-build" + ${PYTHON} "${ac_abs_top_srcdir}/python/makefile.py" ${makefile_devbuild} || exit 1 +], [ + PYTHON="$PYTHON" + enable_dev_build="$enable_dev_build" +]) AC_CONFIG_FILES([ config.version diff --git a/eigrpd/subdir.am b/eigrpd/subdir.am index e59c88b47..8b86b9c8a 100644 --- a/eigrpd/subdir.am +++ b/eigrpd/subdir.am @@ -7,11 +7,11 @@ noinst_LIBRARIES += eigrpd/libeigrp.a sbin_PROGRAMS += eigrpd/eigrpd dist_examples_DATA += eigrpd/eigrpd.conf.sample vtysh_scan += \ - $(top_srcdir)/eigrpd/eigrp_cli.c \ - $(top_srcdir)/eigrpd/eigrp_dump.c \ - $(top_srcdir)/eigrpd/eigrp_vty.c \ + eigrpd/eigrp_cli.c \ + eigrpd/eigrp_dump.c \ + eigrpd/eigrp_vty.c \ # end -# $(top_srcdir)/eigrpd/eigrp_routemap.c +# eigrpd/eigrp_routemap.c man8 += $(MANBUILD)/frr-eigrpd.8 endif @@ -48,11 +48,10 @@ eigrpdheader_HEADERS = \ eigrpd/eigrpd.h \ # end -eigrpd/eigrp_vty_clippy.c: $(CLIPPY_DEPS) -eigrpd/eigrp_vty.$(OBJEXT): eigrpd/eigrp_vty_clippy.c - -eigrpd/eigrp_cli_clippy.c: $(CLIPPY_DEPS) -eigrpd/eigrp_cli.$(OBJEXT): eigrpd/eigrp_cli_clippy.c +clippy_scan += \ + eigrpd/eigrp_cli.c \ + eigrpd/eigrp_vty.c \ + # end noinst_HEADERS += \ eigrpd/eigrp_const.h \ diff --git a/isisd/subdir.am b/isisd/subdir.am index 5dddb7d34..94f9116d3 100644 --- a/isisd/subdir.am +++ b/isisd/subdir.am @@ -7,12 +7,12 @@ noinst_LIBRARIES += isisd/libisis.a sbin_PROGRAMS += isisd/isisd dist_examples_DATA += isisd/isisd.conf.sample vtysh_scan += \ - $(top_srcdir)/isisd/isis_cli.c \ - $(top_srcdir)/isisd/isis_redist.c \ - $(top_srcdir)/isisd/isis_spf.c \ - $(top_srcdir)/isisd/isis_te.c \ - $(top_srcdir)/isisd/isis_vty_fabricd.c \ - $(top_srcdir)/isisd/isisd.c \ + isisd/isis_cli.c \ + isisd/isis_redist.c \ + isisd/isis_spf.c \ + isisd/isis_te.c \ + isisd/isis_vty_fabricd.c \ + isisd/isisd.c \ # end man8 += $(MANBUILD)/frr-isisd.8 endif @@ -106,8 +106,9 @@ isisd_libisis_a_SOURCES = \ isisd/isis_cli.c \ #end -isisd/isis_cli_clippy.c: $(CLIPPY_DEPS) -isisd/isis_cli.$(OBJEXT): isisd/isis_cli_clippy.c +clippy_scan += \ + isisd/isis_cli.c \ + # end isisd_isisd_LDADD = isisd/libisis.a $(ISIS_LDADD_COMMON) isisd_isisd_SOURCES = $(ISIS_SOURCES) diff --git a/ldpd/subdir.am b/ldpd/subdir.am index f464bad9e..09936e5c2 100644 --- a/ldpd/subdir.am +++ b/ldpd/subdir.am @@ -6,7 +6,7 @@ if LDPD noinst_LIBRARIES += ldpd/libldp.a sbin_PROGRAMS += ldpd/ldpd dist_examples_DATA += ldpd/ldpd.conf.sample -vtysh_scan += $(top_srcdir)/ldpd/ldp_vty_cmds.c +vtysh_scan += ldpd/ldp_vty_cmds.c man8 += $(MANBUILD)/frr-ldpd.8 endif @@ -40,8 +40,9 @@ ldpd_libldp_a_SOURCES = \ ldpd/util.c \ # end -ldpd/ldp_vty_cmds_clippy.c: $(CLIPPY_DEPS) -ldpd/ldp_vty_cmds.$(OBJEXT): ldpd/ldp_vty_cmds_clippy.c +clippy_scan += \ + ldpd/ldp_vty_cmds.c \ + # end noinst_HEADERS += \ ldpd/control.h \ diff --git a/lib/srv6.c b/lib/srv6.c index be340f13f..287bf5608 100644 --- a/lib/srv6.c +++ b/lib/srv6.c @@ -17,6 +17,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "zebra.h" + #include "srv6.h" #include "log.h" diff --git a/lib/subdir.am b/lib/subdir.am index f3f709fd2..2f8cbe5d5 100644 --- a/lib/subdir.am +++ b/lib/subdir.am @@ -125,41 +125,36 @@ nodist_lib_libfrr_la_SOURCES = \ # end vtysh_scan += \ - $(top_srcdir)/lib/distribute.c \ - $(top_srcdir)/lib/filter.c \ - $(top_srcdir)/lib/if.c \ - $(top_srcdir)/lib/if_rmap.c \ - $(top_srcdir)/lib/keychain.c \ - $(top_srcdir)/lib/lib_vty.c \ - $(top_srcdir)/lib/nexthop_group.c \ - $(top_srcdir)/lib/plist.c \ - $(top_srcdir)/lib/routemap.c \ - $(top_srcdir)/lib/routemap_cli.c \ - $(top_srcdir)/lib/vrf.c \ - $(top_srcdir)/lib/vty.c \ + lib/distribute.c \ + lib/filter.c \ + lib/if.c \ + lib/if_rmap.c \ + lib/keychain.c \ + lib/lib_vty.c \ + lib/nexthop_group.c \ + lib/plist.c \ + lib/routemap.c \ + lib/routemap_cli.c \ + lib/vrf.c \ + lib/vty.c \ # end # can be loaded as DSO - always include for vtysh -vtysh_scan += $(top_srcdir)/lib/agentx.c +vtysh_scan += lib/agentx.c if SQLITE3 lib_libfrr_la_LIBADD += $(SQLITE3_LIBS) lib_libfrr_la_SOURCES += lib/db.c endif -lib/if_clippy.c: $(CLIPPY_DEPS) -lib/if.lo: lib/if_clippy.c -lib/plist_clippy.c: $(CLIPPY_DEPS) -lib/plist.lo: lib/plist_clippy.c -lib/nexthop_group_clippy.c: $(CLIPPY_DEPS) -lib/nexthop_group.lo: lib/nexthop_group_clippy.c -lib/northbound_cli_clippy.c: $(CLIPPY_DEPS) -lib/northbound_cli.lo: lib/northbound_cli_clippy.c -lib/routemap_cli_clippy.c: $(CLIPPY_DEPS) -lib/routemap_cli.lo: lib/routemap_cli_clippy.c -lib/vty_clippy.c: $(CLIPPY_DEPS) -lib/vty.lo: lib/vty_clippy.c -lib/log_vty_clippy.c: $(CLIPPY_DEPS) -lib/log_vty.lo: lib/log_vty_clippy.c +clippy_scan += \ + lib/if.c \ + lib/log_vty.c \ + lib/nexthop_group.c \ + lib/northbound_cli.c \ + lib/plist.c \ + lib/routemap_cli.c \ + lib/vty.c \ + # end pkginclude_HEADERS += \ lib/agg_table.h \ diff --git a/lib/zlog.h b/lib/zlog.h index 904049c0f..1c5013746 100644 --- a/lib/zlog.h +++ b/lib/zlog.h @@ -47,7 +47,7 @@ extern int zlog_tmpdirfd; extern void vzlog(int prio, const char *fmt, va_list ap); -__attribute__ ((format (printf, 2, 3))) +PRINTFRR(2, 3) static inline void zlog(int prio, const char *fmt, ...) { va_list ap; diff --git a/m4/ax_python.m4 b/m4/ax_python.m4 index d293da525..9f43ea0ab 100644 --- a/m4/ax_python.m4 +++ b/m4/ax_python.m4 @@ -3,7 +3,7 @@ dnl 2019 David Lamparter for NetDEF, Inc. dnl SPDX-License-Identifier: GPL-2.0-or-later dnl the _ at the beginning will be cut off (to support the empty version string) -m4_define_default([_FRR_PY_VERS], [_3 _ _2 _3.8 _3.7 _3.6 _3.5 _3.4 _3.3 _3.2 _2.7]) +m4_define_default([_FRR_PY_VERS], [_3 _3.10 _3.9 _3.8 _3.7 _3.6 _3.5 _3.4 _3.3 _3.2 _ _2 _2.7]) dnl check basic interpreter properties (py2/py3) dnl doubles as simple check whether the interpreter actually works diff --git a/nhrpd/subdir.am b/nhrpd/subdir.am index 42a6380b1..8cfc25b7b 100644 --- a/nhrpd/subdir.am +++ b/nhrpd/subdir.am @@ -4,7 +4,7 @@ if NHRPD sbin_PROGRAMS += nhrpd/nhrpd -vtysh_scan += $(top_srcdir)/nhrpd/nhrp_vty.c +vtysh_scan += nhrpd/nhrp_vty.c man8 += $(MANBUILD)/frr-nhrpd.8 endif diff --git a/ospf6d/subdir.am b/ospf6d/subdir.am index 570b077cb..9bb683831 100644 --- a/ospf6d/subdir.am +++ b/ospf6d/subdir.am @@ -7,21 +7,21 @@ noinst_LIBRARIES += ospf6d/libospf6.a sbin_PROGRAMS += ospf6d/ospf6d dist_examples_DATA += ospf6d/ospf6d.conf.sample vtysh_scan += \ - $(top_srcdir)/ospf6d/ospf6_abr.c \ - $(top_srcdir)/ospf6d/ospf6_asbr.c \ - $(top_srcdir)/ospf6d/ospf6_area.c \ - $(top_srcdir)/ospf6d/ospf6_bfd.c \ - $(top_srcdir)/ospf6d/ospf6_flood.c \ - $(top_srcdir)/ospf6d/ospf6_interface.c \ - $(top_srcdir)/ospf6d/ospf6_intra.c \ - $(top_srcdir)/ospf6d/ospf6_lsa.c \ - $(top_srcdir)/ospf6d/ospf6_message.c \ - $(top_srcdir)/ospf6d/ospf6_neighbor.c \ - $(top_srcdir)/ospf6d/ospf6_route.c \ - $(top_srcdir)/ospf6d/ospf6_spf.c \ - $(top_srcdir)/ospf6d/ospf6_top.c \ - $(top_srcdir)/ospf6d/ospf6_zebra.c \ - $(top_srcdir)/ospf6d/ospf6d.c \ + ospf6d/ospf6_abr.c \ + ospf6d/ospf6_asbr.c \ + ospf6d/ospf6_area.c \ + ospf6d/ospf6_bfd.c \ + ospf6d/ospf6_flood.c \ + ospf6d/ospf6_interface.c \ + ospf6d/ospf6_intra.c \ + ospf6d/ospf6_lsa.c \ + ospf6d/ospf6_message.c \ + ospf6d/ospf6_neighbor.c \ + ospf6d/ospf6_route.c \ + ospf6d/ospf6_spf.c \ + ospf6d/ospf6_top.c \ + ospf6d/ospf6_zebra.c \ + ospf6d/ospf6d.c \ # end if SNMP module_LTLIBRARIES += ospf6d/ospf6d_snmp.la diff --git a/ospfd/subdir.am b/ospfd/subdir.am index 6de4099c5..447ddf9cb 100644 --- a/ospfd/subdir.am +++ b/ospfd/subdir.am @@ -7,14 +7,14 @@ noinst_LIBRARIES += ospfd/libfrrospf.a sbin_PROGRAMS += ospfd/ospfd dist_examples_DATA += ospfd/ospfd.conf.sample vtysh_scan += \ - $(top_srcdir)/ospfd/ospf_bfd.c \ - $(top_srcdir)/ospfd/ospf_dump.c \ - $(top_srcdir)/ospfd/ospf_opaque.c \ - $(top_srcdir)/ospfd/ospf_ri.c \ - $(top_srcdir)/ospfd/ospf_routemap.c \ - $(top_srcdir)/ospfd/ospf_te.c \ - $(top_srcdir)/ospfd/ospf_sr.c \ - $(top_srcdir)/ospfd/ospf_vty.c \ + ospfd/ospf_bfd.c \ + ospfd/ospf_dump.c \ + ospfd/ospf_opaque.c \ + ospfd/ospf_ri.c \ + ospfd/ospf_routemap.c \ + ospfd/ospf_te.c \ + ospfd/ospf_sr.c \ + ospfd/ospf_vty.c \ # end if SNMP module_LTLIBRARIES += ospfd/ospfd_snmp.la @@ -72,8 +72,9 @@ ospfdheader_HEADERS = \ # end endif -ospfd/ospf_vty_clippy.c: $(CLIPPY_DEPS) -ospfd/ospf_vty.$(OBJEXT): ospfd/ospf_vty_clippy.c +clippy_scan += \ + ospfd/ospf_vty.c \ + # end noinst_HEADERS += \ ospfd/ospf_abr.h \ diff --git a/pbrd/subdir.am b/pbrd/subdir.am index c55f0b41c..42f279988 100644 --- a/pbrd/subdir.am +++ b/pbrd/subdir.am @@ -7,8 +7,8 @@ noinst_LIBRARIES += pbrd/libpbr.a sbin_PROGRAMS += pbrd/pbrd dist_examples_DATA += pbrd/pbrd.conf.sample vtysh_scan += \ - $(top_srcdir)/pbrd/pbr_vty.c \ - $(top_srcdir)/pbrd/pbr_debug.c \ + pbrd/pbr_vty.c \ + pbrd/pbr_debug.c \ # end man8 += $(MANBUILD)/frr-pbrd.8 endif @@ -33,11 +33,10 @@ noinst_HEADERS += \ pbrd/pbr_vrf.h \ # end -pbrd/pbr_vty_clippy.c: $(CLIPPY_DEPS) -pbrd/pbr_vty.$(OBJEXT): pbrd/pbr_vty_clippy.c - -pbrd/pbr_debug_clippy.c: $(CLIPPY_DEPS) -pbrd/pbr_debug.$(OBJEXT): pbrd/pbr_debug_clippy.c +clippy_scan += \ + pbrd/pbr_debug.c \ + pbrd/pbr_vty.c \ + # end pbrd_pbrd_SOURCES = pbrd/pbr_main.c pbrd_pbrd_LDADD = pbrd/libpbr.a lib/libfrr.la $(LIBCAP) diff --git a/pimd/subdir.am b/pimd/subdir.am index 0e3059007..121abea59 100644 --- a/pimd/subdir.am +++ b/pimd/subdir.am @@ -8,7 +8,7 @@ sbin_PROGRAMS += pimd/pimd bin_PROGRAMS += pimd/mtracebis noinst_PROGRAMS += pimd/test_igmpv3_join dist_examples_DATA += pimd/pimd.conf.sample -vtysh_scan += $(top_srcdir)/pimd/pim_cmd.c +vtysh_scan += pimd/pim_cmd.c man8 += $(MANBUILD)/frr-pimd.8 man8 += $(MANBUILD)/mtracebis.8 endif @@ -123,8 +123,9 @@ noinst_HEADERS += \ pimd/mtracebis_routeget.h \ # end -pimd/pim_cmd_clippy.c: $(CLIPPY_DEPS) -pimd/pim_cmd.$(OBJEXT): pimd/pim_cmd_clippy.c +clippy_scan += \ + pimd/pim_cmd.c \ + # end pimd_pimd_LDADD = pimd/libpim.a lib/libfrr.la $(LIBCAP) pimd_pimd_SOURCES = pimd/pim_main.c diff --git a/python/firstheader.py b/python/firstheader.py new file mode 100644 index 000000000..19a85b63e --- /dev/null +++ b/python/firstheader.py @@ -0,0 +1,30 @@ +# +# check that the first header included in C files is either +# zebra.h or config.h +# + +import sys, os, re, subprocess + +include_re = re.compile('^#\s*include\s+["<]([^ ">]+)[">]', re.M) + +errors = 0 + +files = subprocess.check_output(['git', 'ls-files']).decode('ASCII') +for fn in files.splitlines(): + if not fn.endswith('.c'): + continue + if fn.startswith('tools/'): + continue + with open(fn, 'r') as fd: + data = fd.read() + m = include_re.search(data) + if m is None: + #sys.stderr.write('no #include in %s?\n' % (fn)) + continue + if m.group(1) in ['config.h', 'zebra.h', 'lib/zebra.h']: + continue + sys.stderr.write('%s: %s\n' % (fn, m.group(0))) + errors += 1 + +if errors: + sys.exit(1) diff --git a/python/makefile.py b/python/makefile.py new file mode 100644 index 000000000..9af397d37 --- /dev/null +++ b/python/makefile.py @@ -0,0 +1,100 @@ +#!/usr/bin/python3 +# +# FRR extended automake/Makefile functionality helper +# +# This script is executed on/after generating Makefile to add some pieces for +# clippy. + +import sys +import os +import subprocess +import re +import argparse +from string import Template + +argp = argparse.ArgumentParser(description = 'FRR Makefile extensions') +argp.add_argument('--dev-build', action = 'store_const', const = True, + help = 'run additional developer checks') +args = argp.parse_args() + +with open('Makefile', 'r') as fd: + before = fd.read() + +nolinecont = before.replace('\\\n', '') +m = re.search('^clippy_scan\s*=([^#]*)(?:#.*)?$', nolinecont, flags=re.MULTILINE) +if m is None: + sys.stderr.write('failed to parse Makefile.in\n') + sys.exit(2) + +clippy_scan = m.group(1).strip().split() +for clippy_file in clippy_scan: + assert clippy_file.endswith('.c') + +# 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__))) + if os.path.exists(os.path.join(basepath, '.git')): + clippy_ref = subprocess.check_output([ + 'git', '-C', basepath, 'grep', '-l', '-P', '^#\s*include.*_clippy.c', '--', '**.c']).decode('US-ASCII') + + clippy_ref = set(clippy_ref.splitlines()) + missing = clippy_ref - set(clippy_scan) + + if len(missing) > 0: + sys.stderr.write('error: files seem to be using clippy, but not listed in "clippy_scan" in subdir.am:\n\t%s\n' % ('\n\t'.join(sorted(missing)))) + sys.exit(1) + +clippydep = Template(''' +${clippybase}.$$(OBJEXT): ${clippybase}_clippy.c +${clippybase}.lo: ${clippybase}_clippy.c +${clippybase}_clippy.c: $$(CLIPPY_DEPS)''') + +clippyauxdep = Template('''# clippy{ +# auxiliary clippy target +${target}: ${clippybase}_clippy.c +# }clippy''') + +lines = before.splitlines() +autoderp = '#AUTODERP# ' +out_lines = [] +make_rule_re = re.compile('^([^:\s]+):\s*([^:\s]+)\s*($|\n)') + +while lines: + line = lines.pop(0) + if line.startswith(autoderp): + line = line[len(autoderp):] + + if line == '# clippy{': + while lines: + line = lines.pop(0) + if line == '# }clippy': + break + continue + + if line.startswith('#'): + out_lines.append(line) + continue + + m = make_rule_re.match(line) + if m is None: + out_lines.append(line) + continue + + if m.group(2) in clippy_scan: + out_lines.append(clippyauxdep.substitute(target=m.group(1), clippybase=m.group(2)[:-2])) + + out_lines.append(line) + +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('# }clippy') +out_lines.append('') + +after = '\n'.join(out_lines) +if after == before: + sys.exit(0) + +with open('Makefile.pyout', 'w') as fd: + fd.write(after) +os.rename('Makefile.pyout', 'Makefile') diff --git a/python/makevars.py b/python/makevars.py new file mode 100644 index 000000000..e0e2031a0 --- /dev/null +++ b/python/makevars.py @@ -0,0 +1,50 @@ +# +# helper class to grab variables from FRR's Makefile +# + +import os +import subprocess + +class MakeVars(object): + ''' + makevars['FOO_CFLAGS'] gets you "FOO_CFLAGS" from Makefile + ''' + def __init__(self): + self._data = dict() + + def getvars(self, varlist): + ''' + get a batch list of variables from make. faster than individual calls. + ''' + rdfd, wrfd = os.pipe() + + shvars = ['shvar-%s' % s for s in varlist] + make = subprocess.Popen(['make', '-s', 'VARFD=%d' % wrfd] + shvars, pass_fds = [wrfd]) + os.close(wrfd) + data = b'' + + rdf = os.fdopen(rdfd, 'rb') + while True: + rdata = rdf.read() + if len(rdata) == 0: + break + data += rdata + + del rdf + make.wait() + + data = data.decode('US-ASCII').strip().split('\n') + for row in data: + k, v = row.split('=', 1) + v = v[1:-1] + self._data[k] = v + + def __getitem__(self, k): + if k not in self._data: + self.getvars([k]) + return self._data[k] + + def get(self, k, defval = None): + if k not in self._data: + self.getvars([k]) + return self._data[k] or defval diff --git a/ripd/subdir.am b/ripd/subdir.am index 00984672e..9b86c6551 100644 --- a/ripd/subdir.am +++ b/ripd/subdir.am @@ -7,9 +7,9 @@ noinst_LIBRARIES += ripd/librip.a sbin_PROGRAMS += ripd/ripd dist_examples_DATA += ripd/ripd.conf.sample vtysh_scan += \ - $(top_srcdir)/ripd/rip_cli.c \ - $(top_srcdir)/ripd/rip_debug.c \ - $(top_srcdir)/ripd/ripd.c \ + ripd/rip_cli.c \ + ripd/rip_debug.c \ + ripd/ripd.c \ # end if SNMP @@ -35,8 +35,9 @@ ripd_librip_a_SOURCES = \ ripd/ripd.c \ # end -ripd/rip_cli_clippy.c: $(CLIPPY_DEPS) -ripd/rip_cli.$(OBJEXT): ripd/rip_cli_clippy.c +clippy_scan += \ + ripd/rip_cli.c \ + # end noinst_HEADERS += \ ripd/rip_debug.h \ diff --git a/ripngd/subdir.am b/ripngd/subdir.am index 4e219c994..48ba36137 100644 --- a/ripngd/subdir.am +++ b/ripngd/subdir.am @@ -6,9 +6,9 @@ if RIPNGD noinst_LIBRARIES += ripngd/libripng.a sbin_PROGRAMS += ripngd/ripngd vtysh_scan += \ - $(top_srcdir)/ripngd/ripng_cli.c \ - $(top_srcdir)/ripngd/ripng_debug.c \ - $(top_srcdir)/ripngd/ripngd.c \ + ripngd/ripng_cli.c \ + ripngd/ripng_debug.c \ + ripngd/ripngd.c \ # end man8 += $(MANBUILD)/frr-ripngd.8 endif @@ -30,8 +30,9 @@ ripngd_libripng_a_SOURCES = \ ripngd/ripngd.c \ # end -ripngd/ripng_cli_clippy.c: $(CLIPPY_DEPS) -ripngd/ripng_cli.$(OBJEXT): ripngd/ripng_cli_clippy.c +clippy_scan += \ + ripngd/ripng_cli.c \ + # end noinst_HEADERS += \ ripngd/ripng_debug.h \ diff --git a/sharpd/subdir.am b/sharpd/subdir.am index 8b32b2370..4c43c50d4 100644 --- a/sharpd/subdir.am +++ b/sharpd/subdir.am @@ -6,7 +6,7 @@ if SHARPD noinst_LIBRARIES += sharpd/libsharp.a sbin_PROGRAMS += sharpd/sharpd dist_examples_DATA += sharpd/sharpd.conf.sample -vtysh_scan += $(top_srcdir)/sharpd/sharp_vty.c +vtysh_scan += sharpd/sharp_vty.c man8 += $(MANBUILD)/frr-sharpd.8 endif @@ -24,8 +24,9 @@ noinst_HEADERS += \ sharpd/sharp_zebra.h \ # end -sharpd/sharp_vty_clippy.c: $(CLIPPY_DEPS) -sharpd/sharp_vty.$(OBJEXT): sharpd/sharp_vty_clippy.c +clippy_scan += \ + sharpd/sharp_vty.c \ + # end sharpd_sharpd_SOURCES = sharpd/sharp_main.c sharpd_sharpd_LDADD = sharpd/libsharp.a lib/libfrr.la $(LIBCAP) diff --git a/staticd/subdir.am b/staticd/subdir.am index 30c69231c..f2b3d11f2 100644 --- a/staticd/subdir.am +++ b/staticd/subdir.am @@ -6,7 +6,7 @@ if STATICD noinst_LIBRARIES += staticd/libstatic.a sbin_PROGRAMS += staticd/staticd dist_examples_DATA += staticd/staticd.conf.sample -vtysh_scan += $(top_srcdir)/staticd/static_vty.c +vtysh_scan += staticd/static_vty.c man8 += $(MANBUILD)/frr-staticd.8 endif @@ -30,8 +30,9 @@ noinst_HEADERS += \ staticd/static_vrf.h \ # end -staticd/static_vty_clippy.c: $(CLIPPY_DEPS) -staticd/static_vty.$(OBJEXT): staticd/static_vty_clippy.c +clippy_scan += \ + staticd/static_vty.c \ + # end staticd_staticd_SOURCES = staticd/static_main.c staticd_staticd_LDADD = staticd/libstatic.a lib/libfrr.la $(LIBCAP) diff --git a/tests/subdir.am b/tests/subdir.am index 5efdcbbd4..04053a6f4 100644 --- a/tests/subdir.am +++ b/tests/subdir.am @@ -38,13 +38,10 @@ else TESTS_OSPF6D = endif -tests/lib/cli/test_cli_clippy.c: $(CLIPPY_DEPS) -tests/lib/cli/tests_lib_cli_test_cli-test_cli.$(OBJEXT): tests/lib/cli/test_cli_clippy.c -tests/lib/cli/test_cli-test_cli.$(OBJEXT): tests/lib/cli/test_cli_clippy.c - -tests/ospf6d/test_lsdb_clippy.c: $(CLIPPY_DEPS) -tests/ospf6d/tests_ospf6d_test_lsdb-test_lsdb.$(OBJEXT): tests/ospf6d/test_lsdb_clippy.c -tests/ospf6d/test_lsdb-test_lsdb.$(OBJEXT): tests/ospf6d/test_lsdb_clippy.c +clippy_scan += \ + tests/lib/cli/test_cli.c \ + tests/ospf6d/test_lsdb.c \ + # end check_PROGRAMS = \ tests/lib/cxxcompat \ diff --git a/tools/symalyzer.py b/tools/symalyzer.py index b3b5c4e56..cff21f9f9 100755 --- a/tools/symalyzer.py +++ b/tools/symalyzer.py @@ -21,49 +21,9 @@ import sys, os, subprocess import re from collections import namedtuple -class MakeVars(object): - ''' - makevars['FOO_CFLAGS'] gets you "FOO_CFLAGS" from Makefile - ''' - def __init__(self): - self._data = dict() +sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'python')) - def getvars(self, varlist): - ''' - get a batch list of variables from make. faster than individual calls. - ''' - rdfd, wrfd = os.pipe() - - shvars = ['shvar-%s' % s for s in varlist] - make = subprocess.Popen(['make', '-s', 'VARFD=%d' % wrfd] + shvars, pass_fds = [wrfd]) - os.close(wrfd) - data = b'' - - rdf = os.fdopen(rdfd, 'rb') - while True: - rdata = rdf.read() - if len(rdata) == 0: - break - data += rdata - - del rdf - make.wait() - - data = data.decode('US-ASCII').strip().split('\n') - for row in data: - k, v = row.split('=', 1) - v = v[1:-1] - self._data[k] = v - - def __getitem__(self, k): - if k not in self._data: - self.getvars([k]) - return self._data[k] - - def get(self, k, defval = None): - if k not in self._data: - self.getvars([k]) - return self._data[k] or defval +from makevars import MakeVars SymRowBase = namedtuple('SymRow', ['target', 'object', 'name', 'address', 'klass', 'typ', 'size', 'line', 'section', 'loc']) class SymRow(SymRowBase): @@ -324,7 +284,7 @@ def write_html_report(syms): else: with open('jquery-3.4.1.min.js.tmp', 'w') as fd: fd.write(r.text) - os.rename('jquery-3.4.1.min.js.tmp', 'jquery-3.4.1.min.js.tmp') + os.rename('jquery-3.4.1.min.js.tmp', 'jquery-3.4.1.min.js') sys.stderr.write('done.\n') def automake_escape(s): diff --git a/vrrpd/subdir.am b/vrrpd/subdir.am index 07358e038..412ee1c3c 100644 --- a/vrrpd/subdir.am +++ b/vrrpd/subdir.am @@ -6,7 +6,7 @@ if VRRPD noinst_LIBRARIES += vrrpd/libvrrp.a sbin_PROGRAMS += vrrpd/vrrpd # dist_examples_DATA += staticd/staticd.conf.sample -vtysh_scan += $(top_srcdir)/vrrpd/vrrp_vty.c +vtysh_scan += vrrpd/vrrp_vty.c man8 += $(MANBUILD)/frr-vrrpd.8 endif @@ -31,8 +31,9 @@ noinst_HEADERS += \ vrrpd/vrrp_zebra.h \ # end -vrrpd/vrrp_vty_clippy.c: $(CLIPPY_DEPS) -vrrpd/vrrp_vty.$(OBJEXT): vrrpd/vrrp_vty_clippy.c +clippy_scan += \ + vrrpd/vrrp_vty.c \ + # end vrrpd_vrrpd_SOURCES = vrrpd/vrrp_main.c vrrpd_vrrpd_LDADD = vrrpd/libvrrp.a lib/libfrr.la @LIBCAP@ diff --git a/vtysh/extract.pl.in b/vtysh/extract.pl.in index c4f293fd3..d5142b1b5 100755 --- a/vtysh/extract.pl.in +++ b/vtysh/extract.pl.in @@ -138,7 +138,7 @@ sub scan_file { $protocol = "VTYSH_FABRICD"; } else { - ($protocol) = ($file =~ /^.*\/([a-z0-9]+)\/[a-zA-Z0-9_\-]+\.c$/); + ($protocol) = ($file =~ /^(?:.*\/)?([a-z0-9]+)\/[a-zA-Z0-9_\-]+\.c$/); $protocol = "VTYSH_" . uc $protocol; } @@ -197,7 +197,7 @@ sub scan_file { } foreach (@ARGV) { - if (/\/isisd\//) { + if (/(^|\/)isisd\//) { # We scan all the IS-IS files twice, once for isisd, # once for fabricd. Exceptions are made for the files # that are not shared between the two. diff --git a/vtysh/subdir.am b/vtysh/subdir.am index 74595788b..3e9b8a3dc 100644 --- a/vtysh/subdir.am +++ b/vtysh/subdir.am @@ -31,5 +31,5 @@ am__v_EXTRACT_ = $(am__v_EXTRACT_$(AM_DEFAULT_VERBOSITY)) am__v_EXTRACT_0 = @echo " EXTRACT " $@; am__v_EXTRACT_1 = -vtysh/vtysh_cmd.c: $(vtysh_scan) vtysh/extract.pl - $(AM_V_EXTRACT) vtysh/extract.pl $(vtysh_scan) > vtysh/vtysh_cmd.c +vtysh/vtysh_cmd.c: vtysh/extract.pl $(vtysh_scan) + $(AM_V_EXTRACT) $^ > vtysh/vtysh_cmd.c diff --git a/watchfrr/subdir.am b/watchfrr/subdir.am index 36af57cf8..677f85efc 100644 --- a/watchfrr/subdir.am +++ b/watchfrr/subdir.am @@ -4,7 +4,7 @@ if WATCHFRR sbin_PROGRAMS += watchfrr/watchfrr -vtysh_scan += $(top_srcdir)/watchfrr/watchfrr_vty.c +vtysh_scan += watchfrr/watchfrr_vty.c man8 += $(MANBUILD)/frr-watchfrr.8 endif @@ -20,5 +20,6 @@ watchfrr_watchfrr_SOURCES = \ watchfrr/watchfrr_vty.c \ # end -watchfrr/watchfrr_vty_clippy.c: $(CLIPPY_DEPS) -watchfrr/watchfrr_vty.$(OBJEXT): watchfrr/watchfrr_vty_clippy.c +clippy_scan += \ + watchfrr/watchfrr_vty.c \ + # end diff --git a/zebra/dplane_fpm_nl.c b/zebra/dplane_fpm_nl.c index 9f480926a..32b7faaad 100644 --- a/zebra/dplane_fpm_nl.c +++ b/zebra/dplane_fpm_nl.c @@ -19,6 +19,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#ifdef HAVE_CONFIG_H +#include "config.h" /* Include this explicitly */ +#endif + #include <arpa/inet.h> #include <sys/types.h> @@ -27,7 +31,6 @@ #include <errno.h> #include <string.h> -#include "config.h" /* Include this explicitly */ #include "lib/zebra.h" #include "lib/json.h" #include "lib/libfrr.h" diff --git a/zebra/subdir.am b/zebra/subdir.am index aafb4abb0..5601b4c37 100644 --- a/zebra/subdir.am +++ b/zebra/subdir.am @@ -6,23 +6,23 @@ if ZEBRA sbin_PROGRAMS += zebra/zebra dist_examples_DATA += zebra/zebra.conf.sample vtysh_scan += \ - $(top_srcdir)/zebra/debug.c \ - $(top_srcdir)/zebra/interface.c \ - $(top_srcdir)/zebra/router-id.c \ - $(top_srcdir)/zebra/rtadv.c \ - $(top_srcdir)/zebra/zebra_mlag_vty.c \ - $(top_srcdir)/zebra/zebra_mpls_vty.c \ - $(top_srcdir)/zebra/zebra_ptm.c \ - $(top_srcdir)/zebra/zebra_pw.c \ - $(top_srcdir)/zebra/zebra_routemap.c \ - $(top_srcdir)/zebra/zebra_vty.c \ - $(top_srcdir)/zebra/zserv.c \ - $(top_srcdir)/zebra/zebra_gr.c \ + zebra/debug.c \ + zebra/interface.c \ + zebra/router-id.c \ + zebra/rtadv.c \ + zebra/zebra_mlag_vty.c \ + zebra/zebra_mpls_vty.c \ + zebra/zebra_ptm.c \ + zebra/zebra_pw.c \ + zebra/zebra_routemap.c \ + zebra/zebra_vty.c \ + zebra/zserv.c \ + zebra/zebra_gr.c \ # end # can be loaded as DSO - always include for vtysh -vtysh_scan += $(top_srcdir)/zebra/irdp_interface.c -vtysh_scan += $(top_srcdir)/zebra/zebra_fpm.c +vtysh_scan += zebra/irdp_interface.c +vtysh_scan += zebra/zebra_fpm.c if IRDP module_LTLIBRARIES += zebra/zebra_irdp.la @@ -109,22 +109,14 @@ zebra_zebra_SOURCES = \ zebra/zebra_gr.c \ # end -zebra/debug_clippy.c: $(CLIPPY_DEPS) -zebra/debug.$(OBJEXT): zebra/debug_clippy.c - -zebra/zebra_mlag_vty_clippy.c: $(CLIPPY_DEPS) -zebra/zebra_mlag_vty.$(OBJEXT): zebra/zebra_mlag_vty_clippy.c - -zebra/zebra_vty_clippy.c: $(CLIPPY_DEPS) -zebra/interface_clippy.c: $(CLIPPY_DEPS) -zebra/interface.$(OBJEXT): zebra/interface_clippy.c -zebra/zebra_vty.$(OBJEXT): zebra/zebra_vty_clippy.c - -zebra/zebra_routemap_clippy.c: $(CLIPPY_DEPS) -zebra/zebra_routemap.$(OBJEXT): zebra/zebra_routemap_clippy.c - -zebra/rtadv_clippy.c: $(CLIPPY_DEPS) -zebra/rtadv.$(OBJEXT): zebra/rtadv_clippy.c +clippy_scan += \ + zebra/debug.c \ + zebra/interface.c \ + zebra/rtadv.c \ + zebra/zebra_mlag_vty.c \ + zebra/zebra_routemap.c \ + zebra/zebra_vty.c \ + # end noinst_HEADERS += \ zebra/connected.h \ |