summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2017-07-22 19:01:46 +0200
committerDavid Lamparter <equinox@opensourcerouting.org>2017-07-31 23:03:30 +0200
commit64d44794fe8f17c0da6d73329600d12b45d740e5 (patch)
tree05285a753b6c933d459411f1278a82ffccbf7a48
parent4a121f99f762258b4382b8a68f28094849fc3dfa (diff)
build: convert zebra/ to non-recursive build
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
-rw-r--r--Makefile.am12
-rwxr-xr-xconfigure.ac10
-rw-r--r--zebra/.gitignore2
-rw-r--r--zebra/Makefile10
-rw-r--r--zebra/Makefile.am96
-rw-r--r--zebra/subdir.am152
6 files changed, 174 insertions, 108 deletions
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