AUTOMAKE_OPTIONS = subdir-objects 1.12
include common.am
-AM_CPPFLAGS = -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
+AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir) -I$(top_builddir)/lib
AM_CFLAGS = $(WERROR)
DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\"
+LIBCAP = @LIBCAP@
EXTRA_DIST =
BUILT_SOURCES =
+examplesdir = $(exampledir)
+
bin_PROGRAMS =
sbin_PROGRAMS =
noinst_PROGRAMS =
noinst_HEADERS =
noinst_LIBRARIES =
lib_LTLIBRARIES =
+module_LTLIBRARIES =
pkginclude_HEADERS =
+dist_examples_DATA =
include lib/subdir.am
+include zebra/subdir.am
-SUBDIRS = . qpb fpm @ZEBRA@ @LIBRFP@ @RFPTEST@ \
+SUBDIRS = . qpb fpm @LIBRFP@ @RFPTEST@ \
@BGPD@ @RIPD@ @RIPNGD@ @OSPFD@ @OSPF6D@ @LDPD@ \
@ISISD@ @PIMD@ @NHRPD@ @EIGRPD@ @BABELD@ \
@WATCHFRR@ @VTYSH@ @OSPFCLIENT@ @DOC@ m4 @pkgsrcdir@ \
redhat @SOLARIS@ tests tools snapcraft
-DIST_SUBDIRS = . qpb fpm zebra bgpd ripd ripngd ospfd ospf6d ldpd \
+DIST_SUBDIRS = . qpb fpm bgpd ripd ripngd ospfd ospf6d ldpd \
isisd watchfrr vtysh ospfclient doc m4 pkgsrc redhat tests \
solaris pimd nhrpd eigrpd bgpd/rfp-example/librfp \
bgpd/rfp-example/rfptest tools snapcraft babeld python \
dnl --------------------
dnl Daemon disable check
dnl --------------------
-if test "${enable_zebra}" = "no";then
- ZEBRA=""
-else
- ZEBRA="zebra"
-fi
-AM_CONDITIONAL(ZEBRA, test "x$ZEBRA" = "xzebra")
+AM_CONDITIONAL(ZEBRA, test "${enable_zebra}" != "no")
if test "${enable_bgpd}" = "no";then
BGPD=""
AM_CONDITIONAL([ENABLE_BGP_VNC], [test x${enable_bgp_vnc} != xno])
AC_SUBST(DOC)
-AC_SUBST(ZEBRA)
AC_SUBST(RFPTEST)
AC_SUBST(LIBRFP)
AC_SUBST(RFPINC)
)
AC_MSG_RESULT($ac_cv_htonl_works)
-AC_CONFIG_FILES([Makefile qpb/Makefile zebra/Makefile ripd/Makefile
+AC_CONFIG_FILES([Makefile qpb/Makefile ripd/Makefile
ripngd/Makefile bgpd/Makefile ospfd/Makefile watchfrr/Makefile
ospf6d/Makefile ldpd/Makefile isisd/Makefile vtysh/Makefile
doc/Makefile ospfclient/Makefile tests/Makefile m4/Makefile
-Makefile
+!Makefile
Makefile.in
*.o
zebra
--- /dev/null
+all: ALWAYS
+ @$(MAKE) -s -C .. zebra/zebra
+%: ALWAYS
+ @$(MAKE) -s -C .. zebra/$@
+
+Makefile:
+ #nothing
+ALWAYS:
+.PHONY: ALWAYS makefiles
+.SUFFIXES:
+++ /dev/null
-include ../common.am
-
-## 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
-
-LIBCAP = @LIBCAP@
-
-ipforward = @IPFORWARD@
-if_method = @IF_METHOD@
-rt_method = @RT_METHOD@
-rtread_method = @RTREAD_METHOD@
-kernel_method = @KERNEL_METHOD@
-ioctl_method = @IOCTL_METHOD@
-mpls_method = @MPLS_METHOD@
-
-otherobj = $(ioctl_method) $(ipforward) $(if_method) \
- $(rt_method) $(rtread_method) $(kernel_method) $(mpls_method)
-
-AM_CFLAGS = $(WERROR)
-
-sbin_PROGRAMS = zebra
-module_LTLIBRARIES =
-
-zebra_SOURCES = \
- zebra_memory.c \
- zserv.c main.c interface.c connected.c zebra_rib.c zebra_routemap.c \
- redistribute.c debug.c rtadv.c zebra_vty.c \
- irdp_main.c irdp_interface.c irdp_packet.c router-id.c \
- zebra_ptm.c zebra_rnh.c zebra_ptm_redistribute.c \
- zebra_ns.c zebra_vrf.c zebra_static.c zebra_mpls.c zebra_mpls_vty.c \
- zebra_mroute.c \
- label_manager.c \
- zebra_l2.c \
- zebra_vxlan.c \
- # end
-
-zebra_vty.o: zebra_vty_clippy.c
-
-noinst_HEADERS = \
- zebra_memory.h \
- connected.h ioctl.h rib.h rt.h zserv.h redistribute.h debug.h rtadv.h \
- interface.h ipforward.h irdp.h router-id.h kernel_socket.h \
- rt_netlink.h zebra_fpm_private.h zebra_rnh.h \
- zebra_ptm_redistribute.h zebra_ptm.h zebra_routemap.h \
- zebra_ns.h zebra_vrf.h ioctl_solaris.h zebra_static.h zebra_mpls.h \
- kernel_netlink.h if_netlink.h zebra_mroute.h label_manager.h \
- zebra_l2.h zebra_vxlan_private.h zebra_vxlan.h
-
-zebra_LDADD = $(otherobj) ../lib/libfrr.la $(LIBCAP)
-
-zebra_DEPENDENCIES = $(otherobj)
-
-if SNMP
-module_LTLIBRARIES += zebra_snmp.la
-endif
-zebra_snmp_la_SOURCES = zebra_snmp.c
-zebra_snmp_la_CFLAGS = $(WERROR) $(SNMP_CFLAGS)
-zebra_snmp_la_LDFLAGS = -avoid-version -module -shared -export-dynamic
-zebra_snmp_la_LIBADD = ../lib/libfrrsnmp.la
-
-if FPM
-module_LTLIBRARIES += zebra_fpm.la
-endif
-zebra_fpm_la_LDFLAGS = -avoid-version -module -shared -export-dynamic
-zebra_fpm_la_LIBADD = $(Q_FPM_PB_CLIENT_LDOPTS)
-zebra_fpm_la_SOURCES = zebra_fpm.c
-if HAVE_NETLINK
-zebra_fpm_la_SOURCES += zebra_fpm_netlink.c
-endif
-if HAVE_PROTOBUF
-zebra_fpm_la_SOURCES += zebra_fpm_protobuf.c
-if DEV_BUILD
-zebra_fpm_la_SOURCES += zebra_fpm_dt.c
-endif
-endif
-
-
-EXTRA_DIST = if_ioctl.c if_ioctl_solaris.c if_netlink.c \
- if_sysctl.c ipforward_proc.c \
- ipforward_solaris.c ipforward_sysctl.c rt_netlink.c \
- rt_socket.c rtread_netlink.c rtread_sysctl.c \
- rtread_getmsg.c kernel_socket.c kernel_netlink.c \
- ioctl.c ioctl_solaris.c \
- zebra_mpls_netlink.c zebra_mpls_openbsd.c zebra_mpls_null.c \
- GNOME-SMI GNOME-PRODUCT-ZEBRA-MIB
-
-client : client_main.o ../lib/libfrr.la
- $(CC) -g -o client client_main.o ../liblzebra.la $(LIBS) $(LIB_IPV6)
-
-frrconfdir = $(sysconfdir)
-
-examplesdir = $(exampledir)
-dist_examples_DATA = zebra.conf.sample
--- /dev/null
+#
+# zebra
+#
+
+if ZEBRA
+sbin_PROGRAMS += zebra/zebra
+dist_examples_DATA += zebra/zebra.conf.sample
+
+if SNMP
+module_LTLIBRARIES += zebra/zebra_snmp.la
+endif
+if FPM
+module_LTLIBRARIES += zebra/zebra_fpm.la
+endif
+
+## endif ZEBRA
+endif
+
+ipforward = @IPFORWARD@
+if_method = @IF_METHOD@
+rt_method = @RT_METHOD@
+rtread_method = @RTREAD_METHOD@
+kernel_method = @KERNEL_METHOD@
+ioctl_method = @IOCTL_METHOD@
+mpls_method = @MPLS_METHOD@
+
+otherobj = \
+ zebra/$(ioctl_method) \
+ zebra/$(ipforward) \
+ zebra/$(if_method) \
+ zebra/$(rt_method) \
+ zebra/$(rtread_method) \
+ zebra/$(kernel_method) \
+ zebra/$(mpls_method) \
+ # end
+
+zebra_zebra_LDADD = $(otherobj) lib/libfrr.la $(LIBCAP)
+zebra_zebra_DEPENDENCIES = $(otherobj) lib/libfrr.la
+
+zebra_zebra_SOURCES = \
+ zebra/connected.c \
+ zebra/debug.c \
+ zebra/interface.c \
+ zebra/irdp_interface.c \
+ zebra/irdp_main.c \
+ zebra/irdp_packet.c \
+ zebra/label_manager.c \
+ zebra/main.c \
+ zebra/redistribute.c \
+ zebra/router-id.c \
+ zebra/rtadv.c \
+ zebra/zebra_l2.c \
+ zebra/zebra_memory.c \
+ zebra/zebra_mpls.c \
+ zebra/zebra_mpls_vty.c \
+ zebra/zebra_mroute.c \
+ zebra/zebra_ns.c \
+ zebra/zebra_ptm.c \
+ zebra/zebra_ptm_redistribute.c \
+ zebra/zebra_rib.c \
+ zebra/zebra_rnh.c \
+ zebra/zebra_routemap.c \
+ zebra/zebra_static.c \
+ zebra/zebra_vrf.c \
+ zebra/zebra_vty.c \
+ zebra/zebra_vxlan.c \
+ zebra/zserv.c \
+ # end
+
+zebra/zebra_vty.$(OBJEXT): zebra/zebra_vty_clippy.c
+
+noinst_HEADERS += \
+ zebra/connected.h \
+ zebra/debug.h \
+ zebra/if_netlink.h \
+ zebra/interface.h \
+ zebra/ioctl.h \
+ zebra/ioctl_solaris.h \
+ zebra/ipforward.h \
+ zebra/irdp.h \
+ zebra/kernel_netlink.h \
+ zebra/kernel_socket.h \
+ zebra/label_manager.h \
+ zebra/redistribute.h \
+ zebra/rib.h \
+ zebra/router-id.h \
+ zebra/rt.h \
+ zebra/rt_netlink.h \
+ zebra/rtadv.h \
+ zebra/zebra_fpm_private.h \
+ zebra/zebra_l2.h \
+ zebra/zebra_memory.h \
+ zebra/zebra_mpls.h \
+ zebra/zebra_mroute.h \
+ zebra/zebra_ns.h \
+ zebra/zebra_ptm.h \
+ zebra/zebra_ptm_redistribute.h \
+ zebra/zebra_rnh.h \
+ zebra/zebra_routemap.h \
+ zebra/zebra_static.h \
+ zebra/zebra_vrf.h \
+ zebra/zebra_vxlan.h \
+ zebra/zebra_vxlan_private.h \
+ zebra/zserv.h \
+ # end
+
+zebra_zebra_snmp_la_SOURCES = zebra/zebra_snmp.c
+zebra_zebra_snmp_la_CFLAGS = $(WERROR) $(SNMP_CFLAGS)
+zebra_zebra_snmp_la_LDFLAGS = -avoid-version -module -shared -export-dynamic
+zebra_zebra_snmp_la_LIBADD = lib/libfrrsnmp.la
+
+zebra_zebra_fpm_la_LDFLAGS = -avoid-version -module -shared -export-dynamic
+zebra_zebra_fpm_la_LIBADD = $(Q_FPM_PB_CLIENT_LDOPTS)
+zebra_zebra_fpm_la_SOURCES = zebra/zebra_fpm.c
+if HAVE_NETLINK
+zebra_zebra_fpm_la_SOURCES += zebra/zebra_fpm_netlink.c
+endif
+if HAVE_PROTOBUF
+zebra_zebra_fpm_la_SOURCES += zebra/zebra_fpm_protobuf.c
+if DEV_BUILD
+zebra_zebra_fpm_la_SOURCES += zebra/zebra_fpm_dt.c
+endif
+endif
+
+EXTRA_DIST += \
+ zebra/GNOME-SMI \
+ zebra/GNOME-PRODUCT-ZEBRA-MIB \
+ zebra/if_ioctl.c \
+ zebra/if_ioctl_solaris.c \
+ zebra/if_netlink.c \
+ zebra/if_sysctl.c \
+ zebra/ioctl.c \
+ zebra/ioctl_solaris.c \
+ zebra/ipforward_proc.c \
+ zebra/ipforward_solaris.c \
+ zebra/ipforward_sysctl.c \
+ zebra/kernel_netlink.c \
+ zebra/kernel_socket.c \
+ zebra/rt_netlink.c \
+ zebra/rt_socket.c \
+ zebra/rtread_getmsg.c \
+ zebra/rtread_netlink.c \
+ zebra/rtread_sysctl.c \
+ zebra/zebra_mpls_netlink.c \
+ zebra/zebra_mpls_null.c \
+ zebra/zebra_mpls_openbsd.c \
+ # end
+
+# -- unmaintained --
+# noinst_PROGRAMS += zebra/client
+# zebra_client_SOURCES = zebra/client_main.c
+# zebra_client_LDADD = lib/libfrr.la