diff --git a/Makefile.am b/Makefile.am index 0ec8986b7b..415b80d516 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,30 +3,36 @@ 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 \ diff --git a/configure.ac b/configure.ac index 291a08573c..0fa467ac0c 100755 --- a/configure.ac +++ b/configure.ac @@ -1375,12 +1375,7 @@ fi 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="" @@ -1506,7 +1501,6 @@ fi 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) @@ -1969,7 +1963,7 @@ AC_CACHE_VAL(ac_cv_htonl_works, ) 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 diff --git a/zebra/.gitignore b/zebra/.gitignore index d0a7528539..7a1321e546 100644 --- a/zebra/.gitignore +++ b/zebra/.gitignore @@ -1,4 +1,4 @@ -Makefile +!Makefile Makefile.in *.o zebra diff --git a/zebra/Makefile b/zebra/Makefile new file mode 100644 index 0000000000..625a7168eb --- /dev/null +++ b/zebra/Makefile @@ -0,0 +1,10 @@ +all: ALWAYS + @$(MAKE) -s -C .. zebra/zebra +%: ALWAYS + @$(MAKE) -s -C .. zebra/$@ + +Makefile: + #nothing +ALWAYS: +.PHONY: ALWAYS makefiles +.SUFFIXES: diff --git a/zebra/Makefile.am b/zebra/Makefile.am deleted file mode 100644 index 67031ea361..0000000000 --- a/zebra/Makefile.am +++ /dev/null @@ -1,96 +0,0 @@ -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 diff --git a/zebra/subdir.am b/zebra/subdir.am new file mode 100644 index 0000000000..e69aa6334c --- /dev/null +++ b/zebra/subdir.am @@ -0,0 +1,152 @@ +# +# 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