1
1

Makefile: fix problems with static linking

Avoid a problem with double-derefence of a variable macro name (i.e.,
a macro with part of its name from an AC_SUBST, such as
```$(foo@BAR@baz)```.

In what might be a bug in Automake 1.14.1, if you do a pattern like
this:

```makefile
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)
```

Then in the resulting Makefile, the value of
```$(lib@A_PREFIX@a_lib_la_OBJECTS)``` will be *blank* (when it really
should be ```a.o```).

To workaround this potential bug, I've simply avoided doing
double-derefences like this, and effectively set the second
```_SOURCES``` line equal to ```a.c``` (just like the first
```_SOURCES``` line).

Fixes #250.
Этот коммит содержится в:
Jeff Squyres 2014-10-24 16:27:54 -07:00
родитель 9134f48d4c
Коммит 9334abc474
4 изменённых файлов: 4 добавлений и 7 удалений

Просмотреть файл

@ -85,8 +85,7 @@ lib@OPAL_LIB_PREFIX@mca_common_cuda_la_LDFLAGS = \
-version-info $(libmca_common_cuda_so_version)
lib@OPAL_LIB_PREFIX@mca_common_cuda_la_LIBADD = $(common_cuda_LIBS)
lib@OPAL_LIB_PREFIX@mca_common_cuda_noinst_la_SOURCES = \
$(lib@OPAL_LIB_PREFIX@mca_common_cuda_la_SOURCES)
lib@OPAL_LIB_PREFIX@mca_common_cuda_noinst_la_SOURCES = $(headers) $(sources)
lib@OPAL_LIB_PREFIX@mca_common_cuda_noinst_la_LDFLAGS = $(common_cuda_LDFLAGS)
lib@OPAL_LIB_PREFIX@mca_common_cuda_noinst_la_LIBADD = $(common_cuda_LIBS)

Просмотреть файл

@ -52,8 +52,7 @@ lib@OPAL_LIB_PREFIX@mca_common_ofacm_la_LDFLAGS = \
-version-info $(libmca_common_ofacm_so_version) \
$(common_ofacm_LDFLAGS)
lib@OPAL_LIB_PREFIX@mca_common_ofacm_la_LIBADD = $(common_ofacm_LIBS)
lib@OPAL_LIB_PREFIX@mca_common_ofacm_noinst_la_SOURCES = \
$(lib@OPAL_LIB_PREFIX@mca_common_ofacm_la_SOURCES)
lib@OPAL_LIB_PREFIX@mca_common_ofacm_noinst_la_SOURCES = $(headers) $(sources)
# Conditionally install the header files

Просмотреть файл

@ -86,7 +86,7 @@ lib@OPAL_LIB_PREFIX@mca_common_sm_la_SOURCES = \
lib@OPAL_LIB_PREFIX@mca_common_sm_la_LDFLAGS = \
-version-info $(libmca_common_sm_so_version)
lib@OPAL_LIB_PREFIX@mca_common_sm_noinst_la_SOURCES = \
$(lib@OPAL_LIB_PREFIX@mca_common_sm_la_SOURCES)
$(headers) $(sources)
# Conditionally install the header files

Просмотреть файл

@ -52,8 +52,7 @@ lib@OPAL_LIB_PREFIX@mca_common_verbs_la_LDFLAGS = \
-version-info $(libmca_common_verbs_so_version) \
$(common_verbs_LDFLAGS)
lib@OPAL_LIB_PREFIX@mca_common_verbs_la_LIBADD = $(common_verbs_LIBS)
lib@OPAL_LIB_PREFIX@mca_common_verbs_noinst_la_SOURCES = \
$(lib@OPAL_LIB_PREFIX@mca_common_verbs_la_SOURCES)
lib@OPAL_LIB_PREFIX@mca_common_verbs_noinst_la_SOURCES = $(headers) $(sources)
# Conditionally install the header files