Inside mdemo/Makefile.am, the dependencies for toplevel libltdl/libltdlc.la were bogus, thus make was always entering toplevel to rebuild the library. GNU make checks afterwards for updated time stamps, but BSD make does not. So, then, with 'make install' in the dryrun case, we end up rerunning the rules for mdemo and mdemo_static, and since they go like this:
mdemo$(EXEEXT): $(mdemo_OBJECTS) $(mdemo_DEPENDENCIES) @rm -f mdemo$(EXEEXT) $(mdemo_LINK) $(mdemo_OBJECTS) $(mdemo_LDADD) $(LIBS) the 'rm -f' will cause the mdemo and mdemo_static executables to disappear. Nice, huh? Fixed as shown below. No, I do not care to list all of the source files of libltdl there: toplevel check-local already depends on libltdl/libltdlc.la, so it should anyway be up to date before running the mdemo tests. Cheers, Ralf 2008-02-11 Ralf Wildenhues <[EMAIL PROTECTED]> * tests/mdemo/Makefile.am (@LIBLTDL@): Update outdated dependencies. ($(top_distdir)/libltdl/libtool): Remove. Fixes spurious mdemo-dryrun failure with OpenBSD make. Index: tests/mdemo/Makefile.am =================================================================== RCS file: /cvsroot/libtool/libtool/tests/mdemo/Makefile.am,v retrieving revision 1.12 diff -u -r1.12 Makefile.am --- tests/mdemo/Makefile.am 31 Jan 2008 16:19:17 -0000 1.12 +++ tests/mdemo/Makefile.am 11 Feb 2008 21:48:59 -0000 @@ -1,6 +1,6 @@ ## Makefile.am -- Process this file with automake to produce Makefile.in ## -## Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation +## Copyright (C) 2003, 2004, 2005, 2007, 2008 Free Software Foundation ## Written by Gary V. Vaughan, 2003 ## ## This file is part of GNU Libtool. @@ -54,13 +54,12 @@ ## use @LIBLTDL@ because some broken makes do not accept macros in targets ## we can only do this because our LIBLTDL does not contain ${top_builddir} top_distdir = ../.. [EMAIL PROTECTED]@: $(top_distdir)/libtool $(top_distdir)/libltdl/libtool \ - $(top_distdir)/libltdl/config.h $(srcdir)/$(top_distdir)/libltdl/ltdl.c \ [EMAIL PROTECTED]@: $(top_distdir)/libtool \ + $(top_distdir)/config.h $(srcdir)/$(top_distdir)/libltdl/ltdl.c \ $(srcdir)/$(top_distdir)/libltdl/ltdl.h (cd $(top_distdir); $(MAKE) `echo $(LIBLTDL) | sed 's,.*\.\./libltdl/,libltdl/,g'`) -# Without the following line, the check may fail if libltdl/libtool is -# removed after libltdl is configured -$(top_distdir)/libltdl/libtool $(top_distdir)/libltdl/config.h: +# Do not error out if toplevel config.h does not exist: +$(top_distdir)/config.h: # Create a version of mdemo that does dlopen. mdemo_SOURCES = main.c