diff options
| author | David Lamparter <equinox@opensourcerouting.org> | 2017-08-04 16:13:29 +0200 | 
|---|---|---|
| committer | David Lamparter <equinox@opensourcerouting.org> | 2017-08-04 19:09:11 +0200 | 
| commit | 30237d294fcb522e3be0df3a5625178db6f47a32 (patch) | |
| tree | 8447ae64a257378808081e27cca355a9694a05cd | |
| parent | 50ffbc124bca15b2ca09c1b8b2fd57de6c4d3da4 (diff) | |
build: non-recursive ldpd
This also fixes a build problem where using #include
"ldpd/ldp_vty_cmds_clippy.c" results in the Makefile dependency tracking
having both
ldp_vty_cmds.c: ldp_vty_cmds_clippy.c
ldp_vty_cmds.c: ../ldpd/ldp_vty_cmds_clippy.c
(because, if it's included as "ldpd/..", it uses the "-I.." include path
in gcc, so the gcc -MD dependency output is "../ldpd/...")
... all of which causes the build to try to build it twice (at the same
time) and fail rather stupidly.
With a non-recursive build, the two paths are identical and everything
just works.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
| -rw-r--r-- | Makefile.am | 5 | ||||
| -rwxr-xr-x | configure.ac | 12 | ||||
| -rw-r--r-- | ldpd/.gitignore | 2 | ||||
| -rw-r--r-- | ldpd/Makefile | 10 | ||||
| -rw-r--r-- | ldpd/Makefile.am | 30 | ||||
| -rw-r--r-- | ldpd/subdir.am | 55 | 
6 files changed, 73 insertions, 41 deletions
diff --git a/Makefile.am b/Makefile.am index 72689c28f7..7d607b2d53 100644 --- a/Makefile.am +++ b/Makefile.am @@ -37,14 +37,15 @@ include ospf6d/subdir.am  include ospfclient/subdir.am  include isisd/subdir.am  include nhrpd/subdir.am +include ldpd/subdir.am  SUBDIRS = . @LIBRFP@ @RFPTEST@ \ -	 @BGPD@ @LDPD@ \ +	 @BGPD@ \           @PIMD@ @EIGRPD@ @BABELD@ \  	 @WATCHFRR@ @VTYSH@ @DOC@ \           @SOLARIS@ tests tools -DIST_SUBDIRS = . bgpd ldpd \ +DIST_SUBDIRS = . bgpd \  	  watchfrr vtysh doc tests \  	  solaris pimd eigrpd bgpd/rfp-example/librfp \  	  bgpd/rfp-example/rfptest tools babeld \ diff --git a/configure.ac b/configure.ac index 7403047b62..0cae5e5824 100755 --- a/configure.ac +++ b/configure.ac @@ -1253,14 +1253,11 @@ AM_CONDITIONAL(BGPD, test "x$BGPD" = "xbgpd")  AM_CONDITIONAL(RIPD, test "${enable_ripd}" != "no")  AM_CONDITIONAL(OSPFD, test "${enable_ospfd}" != "no") +AM_CONDITIONAL(LDPD, test "${enable_ldpd}" != "no") -if test "${enable_ldpd}" = "no";then -  LDPD="" -else -  LDPD="ldpd" +AS_IF([test "${enable_ldpd}" != "no"], [    AC_DEFINE(HAVE_LDPD, 1, ldpd) -fi -AM_CONDITIONAL(LDPD, test "x$LDPD" = "xldpd") +])  NHRPD=""  case "$host_os" in @@ -1352,7 +1349,6 @@ AC_SUBST(LIBRFP)  AC_SUBST(RFPINC)  AC_SUBST(BABELD)  AC_SUBST(BGPD) -AC_SUBST(LDPD)  AC_SUBST(EIGRPD)  AC_SUBST(WATCHFRR)  AC_SUBST(ISISD) @@ -1805,7 +1801,7 @@ AC_MSG_RESULT($ac_cv_htonl_works)  AC_CONFIG_FILES([Makefile  	  bgpd/Makefile watchfrr/Makefile -	  ldpd/Makefile vtysh/Makefile +	  vtysh/Makefile  	  doc/Makefile tests/Makefile  	  bgpd/rfp-example/rfptest/Makefile bgpd/rfp-example/librfp/Makefile  	  babeld/Makefile diff --git a/ldpd/.gitignore b/ldpd/.gitignore index f52b227cb1..eee96c636f 100644 --- a/ldpd/.gitignore +++ b/ldpd/.gitignore @@ -1,4 +1,4 @@ -Makefile +!Makefile  Makefile.in  *.o  ldpd diff --git a/ldpd/Makefile b/ldpd/Makefile new file mode 100644 index 0000000000..464e02cf51 --- /dev/null +++ b/ldpd/Makefile @@ -0,0 +1,10 @@ +all: ALWAYS +	@$(MAKE) -s -C .. ldpd/ldpd +%: ALWAYS +	@$(MAKE) -s -C .. ldpd/$@ + +Makefile: +	#nothing +ALWAYS: +.PHONY: ALWAYS makefiles +.SUFFIXES: diff --git a/ldpd/Makefile.am b/ldpd/Makefile.am deleted file mode 100644 index de9b07ed4c..0000000000 --- a/ldpd/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -## Process this file with automake to produce Makefile.in. - -include ../common.am - -AM_CPPFLAGS = -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib -DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\" -INSTALL_SDATA=@INSTALL@ -m 600 - -AM_CFLAGS = $(WERROR) - -noinst_LIBRARIES = libldp.a -sbin_PROGRAMS = ldpd - -libldp_a_SOURCES = \ -	accept.c address.c adjacency.c control.c hello.c init.c interface.c \ -	keepalive.c l2vpn.c labelmapping.c lde.c lde_lib.c ldpd.c \ -	ldpe.c log.c logmsg.c neighbor.c notification.c packet.c pfkey.c \ -	socket.c util.c ldp_vty_cmds.c ldp_vty_conf.c ldp_vty_exec.c \ -	ldp_debug.c ldp_zebra.c - -ldp_vty_cmds.o: ldp_vty_cmds_clippy.c - -noinst_HEADERS = \ -	control.h lde.h ldpd.h ldpe.h ldp.h log.h ldp_debug.h ldp_vty.h - -ldpd_SOURCES = ldpd.c -ldpd_LDADD = libldp.a ../lib/libfrr.la @LIBCAP@ - -examplesdir = $(exampledir) -dist_examples_DATA = ldpd.conf.sample diff --git a/ldpd/subdir.am b/ldpd/subdir.am new file mode 100644 index 0000000000..db71cee618 --- /dev/null +++ b/ldpd/subdir.am @@ -0,0 +1,55 @@ +# +# ldpd +# + +if LDPD +noinst_LIBRARIES += ldpd/libldp.a +sbin_PROGRAMS += ldpd/ldpd +dist_examples_DATA += ldpd/ldpd.conf.sample +endif + +ldpd_libldp_a_SOURCES = \ +	ldpd/accept.c \ +	ldpd/address.c \ +	ldpd/adjacency.c \ +	ldpd/control.c \ +	ldpd/hello.c \ +	ldpd/init.c \ +	ldpd/interface.c \ +	ldpd/keepalive.c \ +	ldpd/l2vpn.c \ +	ldpd/labelmapping.c \ +	ldpd/lde.c \ +	ldpd/lde_lib.c \ +	ldpd/ldp_debug.c \ +	ldpd/ldp_vty_cmds.c \ +	ldpd/ldp_vty_conf.c \ +	ldpd/ldp_vty_exec.c \ +	ldpd/ldp_zebra.c \ +	ldpd/ldpd.c \ +	ldpd/ldpe.c \ +	ldpd/log.c \ +	ldpd/logmsg.c \ +	ldpd/neighbor.c \ +	ldpd/notification.c \ +	ldpd/packet.c \ +	ldpd/pfkey.c \ +	ldpd/socket.c \ +	ldpd/util.c \ +	# end + +ldpd/ldp_vty_cmds.$(OBJEXT): ldpd/ldp_vty_cmds_clippy.c + +noinst_HEADERS += \ +	ldpd/control.h \ +	ldpd/lde.h \ +	ldpd/ldp.h \ +	ldpd/ldp_debug.h \ +	ldpd/ldp_vty.h \ +	ldpd/ldpd.h \ +	ldpd/ldpe.h \ +	ldpd/log.h \ +	# end + +ldpd_ldpd_SOURCES = ldpd/ldpd.c +ldpd_ldpd_LDADD = ldpd/libldp.a lib/libfrr.la @LIBCAP@  | 
