summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am5
-rwxr-xr-xconfigure.ac14
-rw-r--r--isisd/.gitignore2
-rw-r--r--isisd/Makefile10
-rw-r--r--isisd/Makefile.am39
-rw-r--r--isisd/subdir.am71
6 files changed, 91 insertions, 50 deletions
diff --git a/Makefile.am b/Makefile.am
index 68c2dde34..a0c0d0ab0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -34,15 +34,16 @@ include ripngd/subdir.am
include ospfd/subdir.am
include ospf6d/subdir.am
include ospfclient/subdir.am
+include isisd/subdir.am
SUBDIRS = . @LIBRFP@ @RFPTEST@ \
@BGPD@ @LDPD@ \
- @ISISD@ @PIMD@ @NHRPD@ @EIGRPD@ @BABELD@ \
+ @PIMD@ @NHRPD@ @EIGRPD@ @BABELD@ \
@WATCHFRR@ @VTYSH@ @DOC@ \
@SOLARIS@ tests tools
DIST_SUBDIRS = . bgpd ldpd \
- isisd watchfrr vtysh doc tests \
+ watchfrr vtysh doc tests \
solaris pimd nhrpd eigrpd bgpd/rfp-example/librfp \
bgpd/rfp-example/rfptest tools babeld \
# end
diff --git a/configure.ac b/configure.ac
index c734f9d8e..a1d4f6751 100755
--- a/configure.ac
+++ b/configure.ac
@@ -1063,8 +1063,11 @@ case "$host_os" in
if test $ac_cv_header_net_bpf_h = no; then
if test $ac_cv_header_sys_dlpi_h = no; then
AC_MSG_RESULT(none)
+ if test "${enable_isisd}" = yes; then
+ AC_MSG_FAILURE([IS-IS support requested but no packet backend found])
+ fi
AC_MSG_WARN([*** IS-IS support will not be built ***])
- ISISD=""
+ enable_isisd="no"
else
AC_MSG_RESULT(DLPI)
fi
@@ -1307,12 +1310,7 @@ esac
AM_CONDITIONAL(BABELD, test "x$BABELD" = "xbabeld")
AM_CONDITIONAL(OSPF6D, test "${enable_ospf6d}" != "no")
-
-case "${enable_isisd}" in
- "no" ) ISISD="";;
- * ) ISISD="isisd";;
-esac
-AM_CONDITIONAL(ISISD, test "x$ISISD" = "xisisd")
+AM_CONDITIONAL(ISISD, test "${enable_isisd}" != "no")
case "${enable_pimd}" in
"no" ) PIMD="";;
@@ -1807,7 +1805,7 @@ AC_MSG_RESULT($ac_cv_htonl_works)
AC_CONFIG_FILES([Makefile
bgpd/Makefile watchfrr/Makefile
- ldpd/Makefile isisd/Makefile vtysh/Makefile
+ ldpd/Makefile vtysh/Makefile
doc/Makefile tests/Makefile
bgpd/rfp-example/rfptest/Makefile bgpd/rfp-example/librfp/Makefile
babeld/Makefile
diff --git a/isisd/.gitignore b/isisd/.gitignore
index 5e8028c2a..a882bbf67 100644
--- a/isisd/.gitignore
+++ b/isisd/.gitignore
@@ -1,4 +1,4 @@
-Makefile
+!Makefile
Makefile.in
*.o
isisd
diff --git a/isisd/Makefile b/isisd/Makefile
new file mode 100644
index 000000000..db3b70eea
--- /dev/null
+++ b/isisd/Makefile
@@ -0,0 +1,10 @@
+all: ALWAYS
+ @$(MAKE) -s -C .. isisd/isisd
+%: ALWAYS
+ @$(MAKE) -s -C .. isisd/$@
+
+Makefile:
+ #nothing
+ALWAYS:
+.PHONY: ALWAYS makefiles
+.SUFFIXES:
diff --git a/isisd/Makefile.am b/isisd/Makefile.am
deleted file mode 100644
index dc3d3683a..000000000
--- a/isisd/Makefile.am
+++ /dev/null
@@ -1,39 +0,0 @@
-## Process this file with automake to produce Makefile.in.
-
-AM_CPPFLAGS = -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
-DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\"
-INSTALL_SDATA=@INSTALL@ -m 600
-LIBS = @LIBS@
-
-AM_CFLAGS = $(WERROR)
-
-noinst_LIBRARIES = libisis.a
-sbin_PROGRAMS = isisd
-
-libisis_a_SOURCES = \
- isis_memory.c \
- isis_adjacency.c isis_lsp.c dict.c isis_circuit.c isis_pdu.c \
- isisd.c isis_misc.c isis_zebra.c isis_dr.c \
- isis_flags.c isis_dynhn.c iso_checksum.c isis_csm.c isis_events.c \
- isis_spf.c isis_redist.c isis_route.c isis_routemap.c isis_te.c \
- isis_vty.c isis_mt.c \
- isis_tlvs.c
-
-
-noinst_HEADERS = \
- isis_memory.h \
- isisd.h isis_pdu.h isis_adjacency.h isis_constants.h \
- isis_lsp.h dict.h isis_circuit.h isis_misc.h isis_network.h \
- isis_zebra.h isis_dr.h isis_flags.h isis_dynhn.h isis_common.h \
- iso_checksum.h isis_csm.h isis_events.h isis_spf.h isis_redist.h \
- isis_route.h isis_routemap.h isis_te.h isis_mt.h \
- isis_tlvs.h
-
-isisd_SOURCES = \
- isis_main.c $(libisis_a_SOURCES) \
- isis_bpf.c isis_dlpi.c isis_pfpacket.c
-
-isisd_LDADD = ../lib/libfrr.la @LIBCAP@
-
-examplesdir = $(exampledir)
-dist_examples_DATA = isisd.conf.sample
diff --git a/isisd/subdir.am b/isisd/subdir.am
new file mode 100644
index 000000000..6e49d4ec8
--- /dev/null
+++ b/isisd/subdir.am
@@ -0,0 +1,71 @@
+#
+# isisd
+#
+
+if ISISD
+noinst_LIBRARIES += isisd/libisis.a
+sbin_PROGRAMS += isisd/isisd
+dist_examples_DATA += isisd/isisd.conf.sample
+endif
+
+isisd_libisis_a_SOURCES = \
+ isisd/dict.c \
+ isisd/isis_adjacency.c \
+ isisd/isis_circuit.c \
+ isisd/isis_csm.c \
+ isisd/isis_dr.c \
+ isisd/isis_dynhn.c \
+ isisd/isis_events.c \
+ isisd/isis_flags.c \
+ isisd/isis_lsp.c \
+ isisd/isis_memory.c \
+ isisd/isis_misc.c \
+ isisd/isis_mt.c \
+ isisd/isis_pdu.c \
+ isisd/isis_redist.c \
+ isisd/isis_route.c \
+ isisd/isis_routemap.c \
+ isisd/isis_spf.c \
+ isisd/isis_te.c \
+ isisd/isis_tlvs.c \
+ isisd/isis_vty.c \
+ isisd/isis_zebra.c \
+ isisd/isisd.c \
+ isisd/iso_checksum.c \
+ # end
+
+noinst_HEADERS += \
+ isisd/dict.h \
+ isisd/isis_adjacency.h \
+ isisd/isis_circuit.h \
+ isisd/isis_common.h \
+ isisd/isis_constants.h \
+ isisd/isis_csm.h \
+ isisd/isis_dr.h \
+ isisd/isis_dynhn.h \
+ isisd/isis_events.h \
+ isisd/isis_flags.h \
+ isisd/isis_lsp.h \
+ isisd/isis_memory.h \
+ isisd/isis_misc.h \
+ isisd/isis_mt.h \
+ isisd/isis_network.h \
+ isisd/isis_pdu.h \
+ isisd/isis_redist.h \
+ isisd/isis_route.h \
+ isisd/isis_routemap.h \
+ isisd/isis_spf.h \
+ isisd/isis_te.h \
+ isisd/isis_tlvs.h \
+ isisd/isis_zebra.h \
+ isisd/isisd.h \
+ isisd/iso_checksum.h \
+ # end
+
+isisd_isisd_LDADD = isisd/libisis.a lib/libfrr.la @LIBCAP@
+isisd_isisd_SOURCES = \
+ isisd/isis_bpf.c \
+ isisd/isis_dlpi.c \
+ isisd/isis_main.c \
+ isisd/isis_pfpacket.c \
+ # end