2004-09-13 Paul Jakma <paul@dishone.st>

        * Makefile.am: extract.pl isnt in srcdir, it's always in the
          builddir.
        * extract.pl.in: match on end of filenames, filename could contain
          various preamble due to out of tree builds.
diff --git a/vtysh/ChangeLog b/vtysh/ChangeLog
index 0dbcb0d..8e6684d 100644
--- a/vtysh/ChangeLog
+++ b/vtysh/ChangeLog
@@ -1,3 +1,9 @@
+2004-09-13 Paul Jakma <paul@dishone.st>
+
+	* Makefile.am: extract.pl isnt in srcdir, it's always in the builddir.
+	* extract.pl.in: match on end of filenames, filename could contain
+          various preamble due to out of tree builds.
+
 2004-08-28 Hasso Tepper <hasso at quagga.net>
 
 	* vtysh_main.c: Rename signal handling functions not to conflict
diff --git a/vtysh/Makefile.am b/vtysh/Makefile.am
index 45f9986..c1c650b 100644
--- a/vtysh/Makefile.am
+++ b/vtysh/Makefile.am
@@ -27,7 +27,7 @@
   $(top_srcdir)/zebra/debug.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
-	$(srcdir)/extract.pl $(top_srcdir)/ripd/*.c $(top_srcdir)/ripngd/*.c $(top_srcdir)/ospfd/*.c $(top_srcdir)/ospf6d/*.c \
+	./extract.pl $(top_srcdir)/ripd/*.c $(top_srcdir)/ripngd/*.c $(top_srcdir)/ospfd/*.c $(top_srcdir)/ospf6d/*.c \
 	  $(top_srcdir)/isisd/*.c $(top_srcdir)/bgpd/*.c $(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)/zebra/debug.c $(top_srcdir)/zebra/interface.c $(top_srcdir)/zebra/irdp.c \
diff --git a/vtysh/extract.pl.in b/vtysh/extract.pl.in
index 6882b10..ae83a2e 100755
--- a/vtysh/extract.pl.in
+++ b/vtysh/extract.pl.in
@@ -117,7 +117,7 @@
               }
            }
         } else {
-           ($protocol) = ($file =~ /\/([a-z0-9]+)/);
+           ($protocol) = ($file =~ /^.*\/([a-z0-9]+)\/[a-zA-Z0-9_\-]+\.c$/);
            $protocol = "VTYSH_" . uc $protocol;
         }