summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am21
-rwxr-xr-xconfigure.ac14
-rw-r--r--pimd/.gitignore2
-rw-r--r--pimd/Makefile10
-rw-r--r--pimd/Makefile.am82
-rw-r--r--pimd/pimd.h2
-rw-r--r--pimd/subdir.am110
-rw-r--r--tools/.gitignore1
-rw-r--r--tools/Makefile10
-rw-r--r--tools/Makefile.am16
-rw-r--r--tools/subdir.am27
-rw-r--r--watchfrr/.gitignore2
-rw-r--r--watchfrr/Makefile10
-rw-r--r--watchfrr/Makefile.am11
-rw-r--r--watchfrr/subdir.am17
15 files changed, 200 insertions, 135 deletions
diff --git a/Makefile.am b/Makefile.am
index f204f8a724..b4a0e02e76 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -16,6 +16,7 @@ examplesdir = $(exampledir)
bin_PROGRAMS =
sbin_PROGRAMS =
+sbin_SCRIPTS =
noinst_PROGRAMS =
noinst_HEADERS =
noinst_LIBRARIES =
@@ -35,8 +36,10 @@ $(AUTOMAKE_DUMMY)install-sbinPROGRAMS: install-libLTLIBRARIES
include lib/subdir.am
include zebra/subdir.am
+include watchfrr/subdir.am
include qpb/subdir.am
include fpm/subdir.am
+include tools/subdir.am
include ripd/subdir.am
include ripngd/subdir.am
@@ -48,17 +51,17 @@ include nhrpd/subdir.am
include ldpd/subdir.am
include babeld/subdir.am
include eigrpd/subdir.am
+include pimd/subdir.am
SUBDIRS = . @LIBRFP@ @RFPTEST@ \
@BGPD@ \
- @PIMD@ \
- @WATCHFRR@ @VTYSH@ @DOC@ \
- @SOLARIS@ tests tools
+ @VTYSH@ @DOC@ \
+ @SOLARIS@ tests
DIST_SUBDIRS = . bgpd \
- watchfrr vtysh doc tests \
- solaris pimd bgpd/rfp-example/librfp \
- bgpd/rfp-example/rfptest tools \
+ vtysh doc tests \
+ solaris bgpd/rfp-example/librfp \
+ bgpd/rfp-example/rfptest \
# end
if PKGSRC
@@ -100,12 +103,6 @@ EXTRA_DIST += \
snapcraft/helpers \
snapcraft/snap \
\
- tools/multiple-bgpd.sh \
- tools/rrcheck.pl \
- tools/rrlookup.pl \
- tools/zc.pl \
- tools/zebra.el \
- \
vtysh/Makefile.am \
vtysh/Makefile.in \
# end
diff --git a/configure.ac b/configure.ac
index 3daf01fcc5..63bde5fcda 100755
--- a/configure.ac
+++ b/configure.ac
@@ -1298,12 +1298,7 @@ AM_CONDITIONAL(RIPNGD, test "${enable_ripngd}" != "no")
AM_CONDITIONAL(BABELD, test "${enable_babeld}" != "no")
AM_CONDITIONAL(OSPF6D, test "${enable_ospf6d}" != "no")
AM_CONDITIONAL(ISISD, test "${enable_isisd}" != "no")
-
-case "${enable_pimd}" in
- "no" ) PIMD="";;
- * ) PIMD="pimd";;
-esac
-AM_CONDITIONAL(PIMD, test "x$PIMD" = "xpimd")
+AM_CONDITIONAL(PIMD, test "${enable_pimd}" != "no")
if test "${enable_bgp_announce}" = "no";then
AC_DEFINE(DISABLE_BGP_ANNOUNCE,1,Disable BGP installation to zebra)
@@ -1337,9 +1332,6 @@ AC_SUBST(RFPTEST)
AC_SUBST(LIBRFP)
AC_SUBST(RFPINC)
AC_SUBST(BGPD)
-AC_SUBST(WATCHFRR)
-AC_SUBST(ISISD)
-AC_SUBST(PIMD)
AC_SUBST(SOLARIS)
AC_SUBST(VTYSH)
AC_SUBST(CURSES)
@@ -1812,12 +1804,10 @@ AC_CACHE_VAL(ac_cv_htonl_works,
AC_MSG_RESULT($ac_cv_htonl_works)
AC_CONFIG_FILES([Makefile
- bgpd/Makefile watchfrr/Makefile
+ bgpd/Makefile
vtysh/Makefile
doc/Makefile tests/Makefile
bgpd/rfp-example/rfptest/Makefile bgpd/rfp-example/librfp/Makefile
- pimd/Makefile
- tools/Makefile
redhat/frr.spec
snapcraft/snapcraft.yaml
lib/version.h
diff --git a/pimd/.gitignore b/pimd/.gitignore
index 51a2ac87ee..e23216b058 100644
--- a/pimd/.gitignore
+++ b/pimd/.gitignore
@@ -1,4 +1,4 @@
-Makefile
+!Makefile
Makefile.in
libpim.a
pimd
diff --git a/pimd/Makefile b/pimd/Makefile
new file mode 100644
index 0000000000..87a5388572
--- /dev/null
+++ b/pimd/Makefile
@@ -0,0 +1,10 @@
+all: ALWAYS
+ @$(MAKE) -s -C .. pimd/pimd
+%: ALWAYS
+ @$(MAKE) -s -C .. pimd/$@
+
+Makefile:
+ #nothing
+ALWAYS:
+.PHONY: ALWAYS makefiles
+.SUFFIXES:
diff --git a/pimd/Makefile.am b/pimd/Makefile.am
deleted file mode 100644
index f440221d42..0000000000
--- a/pimd/Makefile.am
+++ /dev/null
@@ -1,82 +0,0 @@
-## Process this file with automake to produce Makefile.in.
-
-# qpimd - pimd for quagga
-# Copyright (C) 2008 Everton da Silva Marques
-#
-# qpimd is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2,
-# or (at your option) any later version.
-#
-# qpimd is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public
-# License along with qpimd; see the file COPYING. If not, write
-# to the Free Software Foundation, Inc., 59 Temple Place - Suite
-# 330, Boston, MA 02111-1307, USA.
-
-# PIM_DEBUG_BYDEFAULT: Automatically enables all pimd "debug ..." commands
-# PIM_CHECK_RECV_IFINDEX_SANITY: Compare socket ifindex with recv ifindex
-# PIM_REPORT_RECV_IFINDEX_MISMATCH: Report sock/recv ifindex mismatch
-# PIM_ENFORCE_LOOPFREE_MFC: Refuse adding looping MFC entries
-# PIM_UNEXPECTED_KERNEL_UPCALL: Report unexpected kernel upcall
-
-PIM_DEFS =
-#PIM_DEFS += -DPIM_DEBUG_BYDEFAULT
-#PIM_DEFS += -DPIM_CHECK_RECV_IFINDEX_SANITY
-#PIM_DEFS += -DPIM_REPORT_RECV_IFINDEX_MISMATCH
-PIM_DEFS += -DPIM_ENFORCE_LOOPFREE_MFC
-#PIM_DEFS += -DPIM_UNEXPECTED_KERNEL_UPCALL
-
-AM_CPPFLAGS = -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
-DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\" $(PIM_DEFS)
-INSTALL_SDATA=@INSTALL@ -m 600
-LIBS = @LIBS@
-
-AM_CFLAGS = $(WERROR)
-
-noinst_LIBRARIES = libpim.a
-sbin_PROGRAMS = pimd
-noinst_PROGRAMS = test_igmpv3_join
-
-libpim_a_SOURCES = \
- pim_memory.c \
- pimd.c pim_version.c pim_cmd.c pim_signals.c pim_iface.c \
- pim_vty.c pim_igmp.c pim_sock.c pim_zebra.c pim_igmpv2.c \
- pim_igmpv3.c pim_str.c pim_mroute.c pim_util.c pim_time.c \
- pim_oil.c pim_zlookup.c pim_pim.c pim_tlv.c pim_neighbor.c \
- pim_hello.c pim_ifchannel.c pim_join.c pim_assert.c \
- pim_msg.c pim_upstream.c pim_rpf.c pim_macro.c \
- pim_ssmpingd.c pim_int.c pim_rp.c \
- pim_static.c pim_br.c pim_register.c pim_routemap.c \
- pim_msdp.c pim_msdp_socket.c pim_msdp_packet.c \
- pim_jp_agg.c pim_nht.c pim_ssm.c pim_bfd.c \
- pim_instance.c
-
-noinst_HEADERS = \
- pim_memory.h \
- pimd.h pim_version.h pim_cmd.h pim_signals.h pim_iface.h \
- pim_vty.h pim_igmp.h pim_sock.h pim_zebra.h pim_igmpv2.h \
- pim_igmpv3.h pim_str.h pim_mroute.h pim_util.h pim_time.h \
- pim_oil.h pim_zlookup.h pim_pim.h pim_tlv.h pim_neighbor.h \
- pim_hello.h pim_ifchannel.h pim_join.h pim_assert.h \
- pim_msg.h pim_upstream.h pim_rpf.h pim_macro.h \
- pim_igmp_join.h pim_ssmpingd.h pim_int.h pim_rp.h \
- pim_static.h pim_br.h pim_register.h \
- pim_msdp.h pim_msdp_socket.h pim_msdp_packet.h pim_nht.h \
- pim_jp_agg.h pim_ssm.h pim_bfd.h pim_instance.h
-
-pimd_SOURCES = \
- pim_main.c $(libpim_a_SOURCES)
-
-test_igmpv3_join_SOURCES = \
- test_igmpv3_join.c
-
-pimd_LDADD = ../lib/libfrr.la @LIBCAP@
-test_igmpv3_join_LDADD = ../lib/libfrr.la
-
-examplesdir = $(exampledir)
-dist_examples_DATA = pimd.conf.sample
diff --git a/pimd/pimd.h b/pimd/pimd.h
index ed51db3dee..c4431651ed 100644
--- a/pimd/pimd.h
+++ b/pimd/pimd.h
@@ -40,6 +40,8 @@
#define PIM_IP_PROTO_PIM (103)
#define PIM_IGMP_MIN_LEN (8)
+#define PIM_ENFORCE_LOOPFREE_MFC
+
/*
* PIM MSG Header Format
* 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
diff --git a/pimd/subdir.am b/pimd/subdir.am
new file mode 100644
index 0000000000..2fcb061576
--- /dev/null
+++ b/pimd/subdir.am
@@ -0,0 +1,110 @@
+#
+# pimd
+#
+
+if PIMD
+noinst_LIBRARIES += pimd/libpim.a
+sbin_PROGRAMS += pimd/pimd
+noinst_PROGRAMS += pimd/test_igmpv3_join
+dist_examples_DATA += pimd/pimd.conf.sample
+endif
+
+pimd_libpim_a_SOURCES = \
+ pimd/pim_assert.c \
+ pimd/pim_bfd.c \
+ pimd/pim_br.c \
+ pimd/pim_cmd.c \
+ pimd/pim_hello.c \
+ pimd/pim_iface.c \
+ pimd/pim_ifchannel.c \
+ pimd/pim_igmp.c \
+ pimd/pim_igmpv2.c \
+ pimd/pim_igmpv3.c \
+ pimd/pim_instance.c \
+ pimd/pim_int.c \
+ pimd/pim_join.c \
+ pimd/pim_jp_agg.c \
+ pimd/pim_macro.c \
+ pimd/pim_memory.c \
+ pimd/pim_mroute.c \
+ pimd/pim_msdp.c \
+ pimd/pim_msdp_packet.c \
+ pimd/pim_msdp_socket.c \
+ pimd/pim_msg.c \
+ pimd/pim_neighbor.c \
+ pimd/pim_nht.c \
+ pimd/pim_oil.c \
+ pimd/pim_pim.c \
+ pimd/pim_register.c \
+ pimd/pim_routemap.c \
+ pimd/pim_rp.c \
+ pimd/pim_rpf.c \
+ pimd/pim_signals.c \
+ pimd/pim_sock.c \
+ pimd/pim_ssm.c \
+ pimd/pim_ssmpingd.c \
+ pimd/pim_static.c \
+ pimd/pim_str.c \
+ pimd/pim_time.c \
+ pimd/pim_tlv.c \
+ pimd/pim_upstream.c \
+ pimd/pim_util.c \
+ pimd/pim_version.c \
+ pimd/pim_vty.c \
+ pimd/pim_zebra.c \
+ pimd/pim_zlookup.c \
+ pimd/pimd.c \
+ # end
+
+noinst_HEADERS += \
+ pimd/pim_assert.h \
+ pimd/pim_bfd.h \
+ pimd/pim_br.h \
+ pimd/pim_cmd.h \
+ pimd/pim_hello.h \
+ pimd/pim_iface.h \
+ pimd/pim_ifchannel.h \
+ pimd/pim_igmp.h \
+ pimd/pim_igmp_join.h \
+ pimd/pim_igmpv2.h \
+ pimd/pim_igmpv3.h \
+ pimd/pim_instance.h \
+ pimd/pim_int.h \
+ pimd/pim_join.h \
+ pimd/pim_jp_agg.h \
+ pimd/pim_macro.h \
+ pimd/pim_memory.h \
+ pimd/pim_mroute.h \
+ pimd/pim_msdp.h \
+ pimd/pim_msdp_packet.h \
+ pimd/pim_msdp_socket.h \
+ pimd/pim_msg.h \
+ pimd/pim_neighbor.h \
+ pimd/pim_nht.h \
+ pimd/pim_oil.h \
+ pimd/pim_pim.h \
+ pimd/pim_register.h \
+ pimd/pim_rp.h \
+ pimd/pim_rpf.h \
+ pimd/pim_signals.h \
+ pimd/pim_sock.h \
+ pimd/pim_ssm.h \
+ pimd/pim_ssmpingd.h \
+ pimd/pim_static.h \
+ pimd/pim_str.h \
+ pimd/pim_time.h \
+ pimd/pim_tlv.h \
+ pimd/pim_upstream.h \
+ pimd/pim_util.h \
+ pimd/pim_version.h \
+ pimd/pim_vty.h \
+ pimd/pim_zebra.h \
+ pimd/pim_zlookup.h \
+ pimd/pimd.h \
+ # end
+
+pimd_pimd_LDADD = pimd/libpim.a lib/libfrr.la @LIBCAP@
+pimd_pimd_SOURCES = pimd/pim_main.c
+
+pimd_test_igmpv3_join_LDADD = lib/libfrr.la
+pimd_test_igmpv3_join_SOURCES = pimd/test_igmpv3_join.c
diff --git a/tools/.gitignore b/tools/.gitignore
index 2e3b89cc26..7bf3be9dbf 100644
--- a/tools/.gitignore
+++ b/tools/.gitignore
@@ -1,3 +1,4 @@
+!Makefile
.arch-inventory
.arch-ids
diff --git a/tools/Makefile b/tools/Makefile
new file mode 100644
index 0000000000..0614da7d11
--- /dev/null
+++ b/tools/Makefile
@@ -0,0 +1,10 @@
+all: ALWAYS
+ @echo please specify a target to build
+%: ALWAYS
+ @$(MAKE) -s -C .. tools/$@
+
+Makefile:
+ #nothing
+ALWAYS:
+.PHONY: ALWAYS makefiles
+.SUFFIXES:
diff --git a/tools/Makefile.am b/tools/Makefile.am
deleted file mode 100644
index e5a118972b..0000000000
--- a/tools/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-AM_CPPFLAGS = -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
-DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\"
-AM_CFLAGS = $(WERROR)
-EXTRA_DIST =
-
-bin_PROGRAMS = permutations
-sbin_PROGRAMS = ssd
-
-permutations_SOURCES = permutations.c
-permutations_LDADD = ../lib/libfrr.la
-
-sbin_SCRIPTS = frr-reload.py frr
-
-EXTRA_DIST += frr.service frr-reload.py frr etc
-
-ssd_SOURCES = start-stop-daemon.c
diff --git a/tools/subdir.am b/tools/subdir.am
new file mode 100644
index 0000000000..79aea179a9
--- /dev/null
+++ b/tools/subdir.am
@@ -0,0 +1,27 @@
+#
+# tools
+#
+
+noinst_PROGRAMS += tools/permutations
+sbin_PROGRAMS += tools/ssd
+sbin_SCRIPTS += \
+ tools/frr-reload.py \
+ tools/frr \
+ # end
+
+tools_permutations_SOURCES = tools/permutations.c
+tools_permutations_LDADD = lib/libfrr.la
+
+tools_ssd_SOURCES = tools/start-stop-daemon.c
+
+EXTRA_DIST += \
+ tools/etc \
+ tools/frr \
+ tools/frr-reload.py \
+ tools/frr.service \
+ tools/multiple-bgpd.sh \
+ tools/rrcheck.pl \
+ tools/rrlookup.pl \
+ tools/zc.pl \
+ tools/zebra.el \
+ # end
diff --git a/watchfrr/.gitignore b/watchfrr/.gitignore
index d3b038feb5..b8c020c04c 100644
--- a/watchfrr/.gitignore
+++ b/watchfrr/.gitignore
@@ -1,4 +1,4 @@
-Makefile
+!Makefile
Makefile.in
*.o
watchfrr
diff --git a/watchfrr/Makefile b/watchfrr/Makefile
new file mode 100644
index 0000000000..91ad59ce1c
--- /dev/null
+++ b/watchfrr/Makefile
@@ -0,0 +1,10 @@
+all: ALWAYS
+ @$(MAKE) -s -C .. watchfrr/watchfrr
+%: ALWAYS
+ @$(MAKE) -s -C .. watchfrr/$@
+
+Makefile:
+ #nothing
+ALWAYS:
+.PHONY: ALWAYS makefiles
+.SUFFIXES:
diff --git a/watchfrr/Makefile.am b/watchfrr/Makefile.am
deleted file mode 100644
index bb53641eff..0000000000
--- a/watchfrr/Makefile.am
+++ /dev/null
@@ -1,11 +0,0 @@
-## Process this file with Automake to create Makefile.in
-
-AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
-AM_CFLAGS = $(WERROR)
-
-sbin_PROGRAMS = watchfrr
-
-noinst_HEADERS = watchfrr.h
-
-watchfrr_SOURCES = watchfrr.c watchfrr_vty.c
-watchfrr_LDADD = ../lib/libfrr.la @LIBCAP@
diff --git a/watchfrr/subdir.am b/watchfrr/subdir.am
new file mode 100644
index 0000000000..aa1a4403bc
--- /dev/null
+++ b/watchfrr/subdir.am
@@ -0,0 +1,17 @@
+#
+# watchfrr
+#
+
+if WATCHFRR
+sbin_PROGRAMS += watchfrr/watchfrr
+endif
+
+noinst_HEADERS += \
+ watchfrr/watchfrr.h \
+ # end
+
+watchfrr_watchfrr_LDADD = lib/libfrr.la @LIBCAP@
+watchfrr_watchfrr_SOURCES = \
+ watchfrr/watchfrr.c \
+ watchfrr/watchfrr_vty.c \
+ # end