]> granicus.if.org Git - procps-ng/commitdiff
build-sys: use proper dependencies on libproc.la
authorFilipe Brandenburger <filbranden@google.com>
Mon, 11 May 2015 19:31:59 +0000 (12:31 -0700)
committerFilipe Brandenburger <filbranden@google.com>
Tue, 12 May 2015 02:52:12 +0000 (19:52 -0700)
Use LDADD or *_LDADD instead of AM_LDFLAGS to refer to libproc.la.
Otherwise, parallel builds will break as there is no explicit dependency
to ensure the library is built before the binaries that try to link to
it.

v2: Added empty rules lib_test_*_LDADD to remove the dependency on
libproc which is not used by the lib/test_* binaries.

Tested by running `make -jNN` repeatedly for different levels of
parallelism to ensure the build works. Also checked that `make check`
and `make distcheck` still work as expected. Also made sure that a
parallel make invocation works with `make -j distcheck`.

Reported-by: Jim Warner <james.warner@comcast.net>
Signed-off-by: Filipe Brandenburger <filbranden@google.com>
Makefile.am

index b174f00a1b366a2182c4b6710dde95f4123c3a97..124c18dc4e8f4fc1eec3d1456d7965ed5af8cf89 100644 (file)
@@ -14,7 +14,7 @@ SUBDIRS = \
        testsuite
 
 AM_CFLAGS = -Iproc
-AM_LDFLAGS = ./proc/libprocps.la
+LDADD = ./proc/libprocps.la
 
 transform = s/pscommand/ps/; $(program_transform_name)
 
@@ -93,16 +93,16 @@ dist_man_MANS += \
        watch.1 \
        top/top.1
 slabtop_SOURCES = slabtop.c lib/strutils.c lib/fileutils.c
-slabtop_LDADD = @NCURSES_LIBS@
+slabtop_LDADD = $(LDADD) @NCURSES_LIBS@
 watch_SOURCES = watch.c lib/strutils.c lib/fileutils.c
-watch_LDADD = @WATCH_NCURSES_LIBS@
+watch_LDADD = $(LDADD) @WATCH_NCURSES_LIBS@
 top_top_SOURCES = \
        top/top.h \
        top/top.c \
        top/top_nls.h \
        top/top_nls.c \
        lib/fileutils.c
-top_top_LDADD = @NCURSES_LIBS@ $(DL_LIB)
+top_top_LDADD = $(LDADD) @NCURSES_LIBS@ $(DL_LIB)
 dist_procpsng_DATA += \
        top/README.top
 endif
@@ -220,8 +220,11 @@ ps_pscommand_SOURCES =  \
 noinst_PROGRAMS = lib/test_strutils lib/test_fileutils lib/test_nsutils
 
 lib_test_strutils_SOURCES = lib/test_strutils.c lib/strutils.c
+lib_test_strutils_LDADD =
 lib_test_fileutils_SOURCES = lib/test_fileutils.c lib/fileutils.c
+lib_test_fileutils_LDADD =
 lib_test_nsutils_SOURCES = lib/test_nsutils.c lib/nsutils.c
+lib_test_nsutils_LDADD =
 
 if EXAMPLE_FILES
 sysconf_DATA = sysctl.conf