In the Open MPI project, we have found a corner case in Automake 1.14.1 (see https://github.com/open-mpi/ompi/issues/250). Here's a simplified reproducer in a Makefile.am: ----- lib_LTLIBRARIES = lib@A_PREFIX@a_lib.la noinst_LTLIBRARIES = lib@A_PREFIX@a_noinst.la lib@A_PREFIX@a_lib_la_SOURCES = a.c lib@A_PREFIX@a_noinst_la_SOURCES = $(lib@A_PREFIX@a_lib_la_SOURCES) ---- Assume that A_PREFIX is AC_SUBST'ed to be the value "AAA". In the resulting Makefile: 1. The value of $(libAAAa_noinst_la_SOURCES) will be correct -- it gets assigned from $(libAAAa_lib_la_SOURCES). Meaning: it will be "a.c". 2. The value of $(libAAAa_noinst_la_OBJECTS) will be empty. It *should* be "a.o". Trivial reproducer attached. It's essentially a configure.ac and a.c to support the above Makefile.am rules, and a trivial override of the "all" rule echoing the 4 Makefile macros so that you can see that $(libAAAa_noinst_la_OBJECTS) is empty. Just "./configure && make" and you'll see: ----- ...configure output... CC a.lo CCLD liba_lib.la CCLD liba_noinst.la liba_lib_la_SOURCES is: a.c liba_lib_la_OBJECTS is: a.lo ==================== liba_noinst_la_SOURCES is: a.c liba_noinst_la_OBJECTS is: -- THIS SHOULD NOT BE BLANK ----- -- Jeff Squyres jsquyres@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/