Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] some Makefile.am questions
From: Ralf Wildenhues (Ralf.Wildenhues_at_[hidden])
Date: 2008-06-04 17:15:31


Hello,

perusing the OMPI source tree a bit more, I stumbled over a couple of
things:

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).

Cheers,
Ralf

Automake takes care of bison/yacc output file dependencies.

Index: opal/mca/paffinity/linux/plpa/src/plpa-taskset/Makefile.am
===================================================================
--- 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
 endif
 
-# Force recognition that tokens.h is generated via tokens.c; there's a
-# rule to create tokens.c from tokens.y.
-tokens.c: tokens.y
-tokens.h: tokens.c
-
 # Force parser.c to be re-compiled when tokens.h is re-generated
 parser.c: tokens.h