perusing the OMPI source tree a bit more, I stumbled over a couple of
1) This is from test/Makefile.am:
--- snip ---
# This should be libsupport.a, not libsupport.la. Automake doesn't
# support check_LTLIBRARIES, as technically you have to install a
# shared library before you can use it.
check_LIBRARIES = libsupport.a
libsupport_a_SOURCES = \
--- snip ---
The statement in the comment is not true; Automake supports
check_LTLIBRARIES, and they don't have to be installed before use
either. What may be confusing is that, by default, check_LTLIBRARIES
will be convenience archives rather than shared libraries. If you want
to have an uninstalled shared library for testing, then you can use
check_LTLIBRARIES = libsupport.la
# induce libtool to create a shared library:
libsupport_la_LDFLAGS = -rpath /nowhere
libsupport_la_SOURCES = \
2) test/dss/ has only a Makefile with 'CC = mpicc' hardcoded. That
looks like it won't use the correct (uninstalled) mpicc but requires a
prior 'make install'. Not sure whether that's intentional.
3) in opal/mca/paffinity/linux/plpa/src/plpa-taskset/Makefile.am, there
are some manual dependencies listed that should not be necessary, as
Automake should treat bison/yacc generated files correctly. IOW, the
patch below, which simplifies things slightly, should still generate a
functional Makefile. If it doesn't, I'd like to hear about it (because
that could be an Automake bug).
Automake takes care of bison/yacc output file dependencies.
--- opal/mca/paffinity/linux/plpa/src/plpa-taskset/Makefile.am (revision 18570)
+++ opal/mca/paffinity/linux/plpa/src/plpa-taskset/Makefile.am (working copy)
@@ -22,11 +22,6 @@
bin_PROGRAMS += plpa-taskset
-# Force recognition that tokens.h is generated via tokens.c; there's a
-# rule to create tokens.c from tokens.y.
# Force parser.c to be re-compiled when tokens.h is re-generated