]> git.puffer.fish Git - matthieu/frr.git/commitdiff
build: non-recursive vtysh
authorDavid Lamparter <equinox@diac24.net>
Wed, 15 Aug 2018 21:55:22 +0000 (23:55 +0200)
committerDavid Lamparter <equinox@opensourcerouting.org>
Sat, 8 Sep 2018 19:26:54 +0000 (21:26 +0200)
Signed-off-by: David Lamparter <equinox@diac24.net>
Makefile.am
configure.ac
vtysh/.gitignore
vtysh/Makefile [new file with mode: 0644]
vtysh/Makefile.am [deleted file]
vtysh/extract.pl.in
vtysh/subdir.am [new file with mode: 0644]

index 080206855e7d2069bc6e32390a1d48efdc5fb89b..96d4a344097aa6ddfe585884de55b7a3ac9e5b54 100644 (file)
@@ -125,12 +125,13 @@ include pbrd/subdir.am
 include staticd/subdir.am
 include bfdd/subdir.am
 
+include vtysh/subdir.am
+
 SUBDIRS = . \
-        @VTYSH@ \
          tests
 
 DIST_SUBDIRS = . \
-         vtysh tests \
+         tests \
          # end
 
 if PKGSRC
@@ -169,9 +170,6 @@ EXTRA_DIST += \
        snapcraft/helpers \
        snapcraft/snap \
        \
-       vtysh/Makefile.am \
-       vtysh/Makefile.in \
-       \
        doc/Makefile \
        doc/developer/Makefile \
        doc/manpages/Makefile \
index 837a4f225276480cfd66f52c08559db0baef48ae..45a571b4c12ece73a8ec59071114f816cfe39dde 100755 (executable)
@@ -1455,7 +1455,6 @@ fi
 AM_CONDITIONAL([ENABLE_BGP_VNC], [test x${enable_bgp_vnc} != xno])
 
 AC_SUBST(SOLARIS)
-AC_SUBST(VTYSH)
 AC_SUBST(CURSES)
 AC_CHECK_LIB(crypt, crypt, [],
                    [AC_CHECK_LIB(crypto, DES_crypt)])
@@ -2009,7 +2008,6 @@ AC_MSG_RESULT($ac_cv_htonl_works)
 AC_CONFIG_FILES([Makefile],[sed -e 's/^#AUTODERP# //' -i Makefile])
 
 AC_CONFIG_FILES([
-         vtysh/Makefile
          tests/Makefile
          redhat/frr.spec
          solaris/Makefile
index 5856eac25352641ae5e513b7fe35c10b4654e47f..e63d1e2dee0210f0eda9990af00ef0713998ea0d 100644 (file)
@@ -1,4 +1,4 @@
-Makefile
+!Makefile
 Makefile.in
 *.o
 vtysh
diff --git a/vtysh/Makefile b/vtysh/Makefile
new file mode 100644 (file)
index 0000000..07e093b
--- /dev/null
@@ -0,0 +1,10 @@
+all: ALWAYS
+       @$(MAKE) -s -C .. vtysh/vtysh
+%: ALWAYS
+       @$(MAKE) -s -C .. vtysh/$@
+
+Makefile:
+       #nothing
+ALWAYS:
+.PHONY: ALWAYS makefiles
+.SUFFIXES:
diff --git a/vtysh/Makefile.am b/vtysh/Makefile.am
deleted file mode 100644 (file)
index b8e4e39..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-## Process this file with Automake to create Makefile.in
-
-include ../common.am
-
-AM_CPPFLAGS += -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib \
-       $(BGP_VNC_RFAPI_INCDIR) $(BGP_VNC_RFP_INCDIR)
-DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\"
-
-LIBS = @LIBS@ @CURSES@ @LIBPAM@
-
-bin_PROGRAMS = vtysh
-
-vtysh_SOURCES = vtysh_main.c vtysh.c vtysh_user.c vtysh_config.c
-nodist_vtysh_SOURCES = vtysh_cmd.c
-CLEANFILES = vtysh_cmd.c
-noinst_HEADERS = vtysh.h vtysh_user.h
-vtysh_LDADD = ../lib/libfrr.la @LIBCAP@ @LIBREADLINE@
-
-examplesdir = $(exampledir)
-dist_examples_DATA = vtysh.conf.sample
-
-EXTRA_DIST = extract.pl
-
-vtysh_scan =
-
-if PIMD
-vtysh_scan += $(top_srcdir)/pimd/pim_cmd.c
-endif
-
-if BGPD
-vtysh_scan += $(top_srcdir)/bgpd/bgp_bfd.c
-vtysh_scan += $(top_srcdir)/bgpd/bgp_debug.c
-vtysh_scan += $(top_srcdir)/bgpd/bgp_dump.c
-vtysh_scan += $(top_srcdir)/bgpd/bgp_evpn_vty.c
-vtysh_scan += $(top_srcdir)/bgpd/bgp_filter.c
-vtysh_scan += $(top_srcdir)/bgpd/bgp_mplsvpn.c
-vtysh_scan += $(top_srcdir)/bgpd/bgp_nexthop.c
-vtysh_scan += $(top_srcdir)/bgpd/bgp_route.c
-vtysh_scan += $(top_srcdir)/bgpd/bgp_routemap.c
-vtysh_scan += $(top_srcdir)/bgpd/bgp_vty.c
-vtysh_scan += $(top_srcdir)/bgpd/bgp_flowspec_vty.c
-if ENABLE_BGP_VNC
-vtysh_scan += $(top_srcdir)/bgpd/rfapi/bgp_rfapi_cfg.c
-vtysh_scan += $(top_srcdir)/bgpd/rfapi/rfapi.c
-vtysh_scan += $(top_srcdir)/bgpd/rfapi/rfapi_vty.c
-vtysh_scan += $(top_srcdir)/bgpd/rfapi/vnc_debug.c
-endif
-endif
-
-if RPKI
-vtysh_scan += $(top_srcdir)/bgpd/bgp_rpki.c
-endif
-
-if ISISD
-vtysh_scan += $(top_srcdir)/isisd/isis_redist.c
-vtysh_scan += $(top_srcdir)/isisd/isis_spf.c
-vtysh_scan += $(top_srcdir)/isisd/isis_te.c
-vtysh_scan += $(top_srcdir)/isisd/isis_vty_common.c
-vtysh_scan += $(top_srcdir)/isisd/isis_vty_fabricd.c
-vtysh_scan += $(top_srcdir)/isisd/isis_vty_isisd.c
-vtysh_scan += $(top_srcdir)/isisd/isisd.c
-endif
-
-if OSPFD
-vtysh_scan += $(top_srcdir)/ospfd/ospf_bfd.c
-vtysh_scan += $(top_srcdir)/ospfd/ospf_dump.c
-vtysh_scan += $(top_srcdir)/ospfd/ospf_opaque.c
-vtysh_scan += $(top_srcdir)/ospfd/ospf_ri.c
-vtysh_scan += $(top_srcdir)/ospfd/ospf_routemap.c
-vtysh_scan += $(top_srcdir)/ospfd/ospf_te.c
-vtysh_scan += $(top_srcdir)/ospfd/ospf_sr.c
-vtysh_scan += $(top_srcdir)/ospfd/ospf_vty.c
-endif
-
-if OSPF6D
-vtysh_scan += $(top_srcdir)/ospf6d/ospf6_abr.c
-vtysh_scan += $(top_srcdir)/ospf6d/ospf6_asbr.c
-vtysh_scan += $(top_srcdir)/ospf6d/ospf6_area.c
-vtysh_scan += $(top_srcdir)/ospf6d/ospf6_bfd.c
-vtysh_scan += $(top_srcdir)/ospf6d/ospf6_flood.c
-vtysh_scan += $(top_srcdir)/ospf6d/ospf6_interface.c
-vtysh_scan += $(top_srcdir)/ospf6d/ospf6_intra.c
-vtysh_scan += $(top_srcdir)/ospf6d/ospf6_lsa.c
-vtysh_scan += $(top_srcdir)/ospf6d/ospf6_message.c
-vtysh_scan += $(top_srcdir)/ospf6d/ospf6_neighbor.c
-vtysh_scan += $(top_srcdir)/ospf6d/ospf6_route.c
-vtysh_scan += $(top_srcdir)/ospf6d/ospf6_spf.c
-vtysh_scan += $(top_srcdir)/ospf6d/ospf6_top.c
-vtysh_scan += $(top_srcdir)/ospf6d/ospf6_zebra.c
-vtysh_scan += $(top_srcdir)/ospf6d/ospf6d.c
-endif
-
-if RIPD
-vtysh_scan += $(top_srcdir)/ripd/rip_debug.c
-vtysh_scan += $(top_srcdir)/ripd/rip_interface.c
-vtysh_scan += $(top_srcdir)/ripd/rip_offset.c
-vtysh_scan += $(top_srcdir)/ripd/rip_zebra.c
-vtysh_scan += $(top_srcdir)/ripd/ripd.c
-endif
-
-if RIPNGD
-vtysh_scan += $(top_srcdir)/ripngd/ripng_debug.c
-vtysh_scan += $(top_srcdir)/ripngd/ripng_interface.c
-vtysh_scan += $(top_srcdir)/ripngd/ripng_offset.c
-vtysh_scan += $(top_srcdir)/ripngd/ripng_zebra.c
-vtysh_scan += $(top_srcdir)/ripngd/ripngd.c
-endif
-
-if LDPD
-vtysh_scan += $(top_srcdir)/ldpd/ldp_vty_cmds.c
-endif
-
-if NHRPD
-vtysh_scan += $(top_srcdir)/nhrpd/nhrp_vty.c
-endif
-
-if EIGRPD
-vtysh_scan += $(top_srcdir)/eigrpd/eigrp_dump.c
-#vtysh_scan += $(top_srcdir)/eigrpd/eigrp_routemap.c
-vtysh_scan += $(top_srcdir)/eigrpd/eigrp_vty.c
-endif
-
-if BABELD
-vtysh_scan += $(top_srcdir)/babeld/babel_interface.c
-vtysh_scan += $(top_srcdir)/babeld/babel_zebra.c
-vtysh_scan += $(top_srcdir)/babeld/babeld.c
-endif
-
-if SHARPD
-vtysh_scan += $(top_srcdir)/sharpd/sharp_vty.c
-endif
-
-if SNMP
-vtysh_scan += $(top_srcdir)/lib/agentx.c
-endif
-
-if PBRD
-vtysh_scan += $(top_srcdir)/pbrd/pbr_vty.c
-vtysh_scan += $(top_srcdir)/pbrd/pbr_debug.c
-endif
-
-if STATICD
-vtysh_scan += $(top_srcdir)/staticd/static_vty.c
-endif
-
-if BFDD
-vtysh_scan += $(top_srcdir)/bfdd/bfdd_vty.c
-endif
-
-vtysh_cmd_FILES = $(vtysh_scan) \
-                 $(top_srcdir)/lib/keychain.c $(top_srcdir)/lib/routemap.c \
-                 $(top_srcdir)/lib/filter.c $(top_srcdir)/lib/plist.c \
-                 $(top_srcdir)/lib/distribute.c $(top_srcdir)/lib/if_rmap.c \
-                 $(top_srcdir)/lib/vrf.c $(top_srcdir)/lib/if.c \
-                 $(top_srcdir)/lib/vty.c $(top_srcdir)/zebra/debug.c \
-                 $(top_srcdir)/lib/logicalrouter.c \
-                 $(top_srcdir)/lib/nexthop_group.c \
-                 $(top_srcdir)/zebra/interface.c \
-                 $(top_srcdir)/zebra/irdp_interface.c \
-                 $(top_srcdir)/zebra/rtadv.c $(top_srcdir)/zebra/zebra_vty.c \
-                 $(top_srcdir)/zebra/zserv.c $(top_srcdir)/zebra/router-id.c \
-                 $(top_srcdir)/zebra/zebra_routemap.c \
-                 $(top_srcdir)/zebra/zebra_fpm.c \
-                 $(top_srcdir)/zebra/zebra_ptm.c \
-                 $(top_srcdir)/zebra/zebra_mpls_vty.c \
-                 $(top_srcdir)/zebra/zebra_pw.c \
-                 $(top_srcdir)/watchfrr/watchfrr_vty.c \
-                 # end
-
-vtysh_cmd.c: $(vtysh_cmd_FILES) extract.pl
-       ./extract.pl $(vtysh_cmd_FILES) > vtysh_cmd.c
index 690e9a12c68327faf5a40cba40916d379783059c..0f68e58d62ea5cb9640b4d07714fcaec4d083536 100755 (executable)
@@ -29,7 +29,7 @@ print <<EOF;
 #include "command.h"
 #include "linklist.h"
 
-#include "vtysh.h"
+#include "vtysh/vtysh.h"
 
 EOF
 
@@ -40,7 +40,7 @@ sub scan_file {
 
     $cppadd = $fabricd ? "-DFABRICD=1" : "";
 
-    open (FH, "@CPP@ -DHAVE_CONFIG_H -DVTYSH_EXTRACT_PL -I@top_builddir@ -I@srcdir@/ -I@srcdir@/.. -I@top_srcdir@/lib -I@top_builddir@/lib -I@top_srcdir@/bgpd -I@top_srcdir@/@LIBRFP@ -I@top_srcdir@/bgpd/rfapi @CPPFLAGS@ $cppadd $file |");
+    open (FH, "@CPP@ -DHAVE_CONFIG_H -DVTYSH_EXTRACT_PL -Ivtysh/@top_builddir@ -Ivtysh/@top_srcdir@ -Ivtysh/@top_srcdir@/lib -Ivtysh/@top_builddir@/lib -Ivtysh/@top_srcdir@/bgpd -Ivtysh/@top_srcdir@/bgpd/rfapi @CPPFLAGS@ $cppadd $file |");
     local $/; undef $/;
     $line = <FH>;
     close (FH);
diff --git a/vtysh/subdir.am b/vtysh/subdir.am
new file mode 100644 (file)
index 0000000..ca288ea
--- /dev/null
@@ -0,0 +1,182 @@
+#
+# vtysh
+#
+
+if VTYSH
+bin_PROGRAMS += vtysh/vtysh
+dist_examples_DATA += vtysh/vtysh.conf.sample
+endif
+
+vtysh_vtysh_SOURCES = \
+       vtysh/vtysh_main.c \
+       vtysh/vtysh.c \
+       vtysh/vtysh_user.c \
+       vtysh/vtysh_config.c \
+       # end
+nodist_vtysh_vtysh_SOURCES = \
+       vtysh/vtysh_cmd.c \
+       # end
+CLEANFILES += vtysh/vtysh_cmd.c
+
+noinst_HEADERS += \
+       vtysh/vtysh.h \
+       vtysh/vtysh_user.h \
+       # end
+
+vtysh_vtysh_LDADD = lib/libfrr.la @LIBCAP@ @LIBREADLINE@ @LIBS@ @CURSES@ @LIBPAM@
+
+EXTRA_DIST += vtysh/extract.pl
+
+vtysh_scan =
+
+if PIMD
+vtysh_scan += $(top_srcdir)/pimd/pim_cmd.c
+endif
+
+if BGPD
+vtysh_scan += $(top_srcdir)/bgpd/bgp_bfd.c
+vtysh_scan += $(top_srcdir)/bgpd/bgp_debug.c
+vtysh_scan += $(top_srcdir)/bgpd/bgp_dump.c
+vtysh_scan += $(top_srcdir)/bgpd/bgp_evpn_vty.c
+vtysh_scan += $(top_srcdir)/bgpd/bgp_filter.c
+vtysh_scan += $(top_srcdir)/bgpd/bgp_mplsvpn.c
+vtysh_scan += $(top_srcdir)/bgpd/bgp_nexthop.c
+vtysh_scan += $(top_srcdir)/bgpd/bgp_route.c
+vtysh_scan += $(top_srcdir)/bgpd/bgp_routemap.c
+vtysh_scan += $(top_srcdir)/bgpd/bgp_vty.c
+vtysh_scan += $(top_srcdir)/bgpd/bgp_flowspec_vty.c
+if ENABLE_BGP_VNC
+vtysh_scan += $(top_srcdir)/bgpd/rfapi/bgp_rfapi_cfg.c
+vtysh_scan += $(top_srcdir)/bgpd/rfapi/rfapi.c
+vtysh_scan += $(top_srcdir)/bgpd/rfapi/rfapi_vty.c
+vtysh_scan += $(top_srcdir)/bgpd/rfapi/vnc_debug.c
+endif
+endif
+
+if RPKI
+vtysh_scan += $(top_srcdir)/bgpd/bgp_rpki.c
+endif
+
+if ISISD
+vtysh_scan += $(top_srcdir)/isisd/isis_redist.c
+vtysh_scan += $(top_srcdir)/isisd/isis_spf.c
+vtysh_scan += $(top_srcdir)/isisd/isis_te.c
+vtysh_scan += $(top_srcdir)/isisd/isis_vty_common.c
+vtysh_scan += $(top_srcdir)/isisd/isis_vty_fabricd.c
+vtysh_scan += $(top_srcdir)/isisd/isis_vty_isisd.c
+vtysh_scan += $(top_srcdir)/isisd/isisd.c
+endif
+
+if OSPFD
+vtysh_scan += $(top_srcdir)/ospfd/ospf_bfd.c
+vtysh_scan += $(top_srcdir)/ospfd/ospf_dump.c
+vtysh_scan += $(top_srcdir)/ospfd/ospf_opaque.c
+vtysh_scan += $(top_srcdir)/ospfd/ospf_ri.c
+vtysh_scan += $(top_srcdir)/ospfd/ospf_routemap.c
+vtysh_scan += $(top_srcdir)/ospfd/ospf_te.c
+vtysh_scan += $(top_srcdir)/ospfd/ospf_sr.c
+vtysh_scan += $(top_srcdir)/ospfd/ospf_vty.c
+endif
+
+if OSPF6D
+vtysh_scan += $(top_srcdir)/ospf6d/ospf6_abr.c
+vtysh_scan += $(top_srcdir)/ospf6d/ospf6_asbr.c
+vtysh_scan += $(top_srcdir)/ospf6d/ospf6_area.c
+vtysh_scan += $(top_srcdir)/ospf6d/ospf6_bfd.c
+vtysh_scan += $(top_srcdir)/ospf6d/ospf6_flood.c
+vtysh_scan += $(top_srcdir)/ospf6d/ospf6_interface.c
+vtysh_scan += $(top_srcdir)/ospf6d/ospf6_intra.c
+vtysh_scan += $(top_srcdir)/ospf6d/ospf6_lsa.c
+vtysh_scan += $(top_srcdir)/ospf6d/ospf6_message.c
+vtysh_scan += $(top_srcdir)/ospf6d/ospf6_neighbor.c
+vtysh_scan += $(top_srcdir)/ospf6d/ospf6_route.c
+vtysh_scan += $(top_srcdir)/ospf6d/ospf6_spf.c
+vtysh_scan += $(top_srcdir)/ospf6d/ospf6_top.c
+vtysh_scan += $(top_srcdir)/ospf6d/ospf6_zebra.c
+vtysh_scan += $(top_srcdir)/ospf6d/ospf6d.c
+endif
+
+if RIPD
+vtysh_scan += $(top_srcdir)/ripd/rip_debug.c
+vtysh_scan += $(top_srcdir)/ripd/rip_interface.c
+vtysh_scan += $(top_srcdir)/ripd/rip_offset.c
+vtysh_scan += $(top_srcdir)/ripd/rip_zebra.c
+vtysh_scan += $(top_srcdir)/ripd/ripd.c
+endif
+
+if RIPNGD
+vtysh_scan += $(top_srcdir)/ripngd/ripng_debug.c
+vtysh_scan += $(top_srcdir)/ripngd/ripng_interface.c
+vtysh_scan += $(top_srcdir)/ripngd/ripng_offset.c
+vtysh_scan += $(top_srcdir)/ripngd/ripng_zebra.c
+vtysh_scan += $(top_srcdir)/ripngd/ripngd.c
+endif
+
+if LDPD
+vtysh_scan += $(top_srcdir)/ldpd/ldp_vty_cmds.c
+endif
+
+if NHRPD
+vtysh_scan += $(top_srcdir)/nhrpd/nhrp_vty.c
+endif
+
+if EIGRPD
+vtysh_scan += $(top_srcdir)/eigrpd/eigrp_dump.c
+#vtysh_scan += $(top_srcdir)/eigrpd/eigrp_routemap.c
+vtysh_scan += $(top_srcdir)/eigrpd/eigrp_vty.c
+endif
+
+if BABELD
+vtysh_scan += $(top_srcdir)/babeld/babel_interface.c
+vtysh_scan += $(top_srcdir)/babeld/babel_zebra.c
+vtysh_scan += $(top_srcdir)/babeld/babeld.c
+endif
+
+if SHARPD
+vtysh_scan += $(top_srcdir)/sharpd/sharp_vty.c
+endif
+
+if SNMP
+vtysh_scan += $(top_srcdir)/lib/agentx.c
+endif
+
+if PBRD
+vtysh_scan += $(top_srcdir)/pbrd/pbr_vty.c
+vtysh_scan += $(top_srcdir)/pbrd/pbr_debug.c
+endif
+
+if STATICD
+vtysh_scan += $(top_srcdir)/staticd/static_vty.c
+endif
+
+if BFDD
+vtysh_scan += $(top_srcdir)/bfdd/bfdd_vty.c
+endif
+
+vtysh_vtysh_cmd_FILES = $(vtysh_scan) \
+                 $(top_srcdir)/lib/keychain.c $(top_srcdir)/lib/routemap.c \
+                 $(top_srcdir)/lib/filter.c $(top_srcdir)/lib/plist.c \
+                 $(top_srcdir)/lib/distribute.c $(top_srcdir)/lib/if_rmap.c \
+                 $(top_srcdir)/lib/vrf.c $(top_srcdir)/lib/if.c \
+                 $(top_srcdir)/lib/vty.c $(top_srcdir)/zebra/debug.c \
+                 $(top_srcdir)/lib/logicalrouter.c \
+                 $(top_srcdir)/lib/nexthop_group.c \
+                 $(top_srcdir)/zebra/interface.c \
+                 $(top_srcdir)/zebra/irdp_interface.c \
+                 $(top_srcdir)/zebra/rtadv.c $(top_srcdir)/zebra/zebra_vty.c \
+                 $(top_srcdir)/zebra/zserv.c $(top_srcdir)/zebra/router-id.c \
+                 $(top_srcdir)/zebra/zebra_routemap.c \
+                 $(top_srcdir)/zebra/zebra_fpm.c \
+                 $(top_srcdir)/zebra/zebra_ptm.c \
+                 $(top_srcdir)/zebra/zebra_mpls_vty.c \
+                 $(top_srcdir)/zebra/zebra_pw.c \
+                 $(top_srcdir)/watchfrr/watchfrr_vty.c \
+                 # end
+
+AM_V_EXTRACT = $(am__v_EXTRACT_$(V))
+am__v_EXTRACT_ = $(am__v_EXTRACT_$(AM_DEFAULT_VERBOSITY))
+am__v_EXTRACT_0 = @echo "  EXTRACT " $@;
+am__v_EXTRACT_1 =
+
+vtysh/vtysh_cmd.c: $(vtysh_vtysh_cmd_FILES) vtysh/extract.pl
+       $(AM_V_EXTRACT) vtysh/extract.pl $(vtysh_vtysh_cmd_FILES) > vtysh/vtysh_cmd.c