summaryrefslogtreecommitdiffstats
path: root/ldpd
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2017-08-04 16:13:29 +0200
committerDavid Lamparter <equinox@opensourcerouting.org>2017-08-04 19:09:11 +0200
commit30237d294fcb522e3be0df3a5625178db6f47a32 (patch)
tree8447ae64a257378808081e27cca355a9694a05cd /ldpd
parentdoc: work around weird texinfo bug (diff)
downloadfrr-30237d294fcb522e3be0df3a5625178db6f47a32.tar.xz
frr-30237d294fcb522e3be0df3a5625178db6f47a32.zip
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>
Diffstat (limited to 'ldpd')
-rw-r--r--ldpd/.gitignore2
-rw-r--r--ldpd/Makefile10
-rw-r--r--ldpd/Makefile.am30
-rw-r--r--ldpd/subdir.am55
4 files changed, 66 insertions, 31 deletions
diff --git a/ldpd/.gitignore b/ldpd/.gitignore
index f52b227cb..eee96c636 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 000000000..464e02cf5
--- /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 de9b07ed4..000000000
--- 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 000000000..db71cee61
--- /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@