[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
make variables defined via include
From: |
Harlan Stenn |
Subject: |
make variables defined via include |
Date: |
Sat, 18 May 2002 01:37:16 -0400 |
User-agent: |
EMH/1.10.0 SEMI/1.13.7 (Awazu) FLIM/1.13.2 (Kasanui) XEmacs/21.1 (patch 14) (Cuyahoga Valley) (i386--freebsd) |
Here's what I think is happening.
There's an application that uses libtool. All of the "places" where
somebody wants to use a library it is specified via $(libfoo_la_LIBDEP), and
we run a wrapper script before we run the first "make" that scans all of the
Makefiles and builds:
libfoo_la_LIBDEP = <correct builddir>/libfoo.la
and a final section that says:
ALL_LIB_TARGETS = \
/builddir/for/libfoo.la \
/builddir/for/libbar.la \
...
and there is a (gloablly included) rule that effectively says:
$(ALL_LIB_TARGETS):
cd $(@D) && $(MAKE) $(AM_FLAGS) $(@F)
The goal is to have missing libraries get automatically rebuilt.
In the past we used to .EXPORT_ALL_VARIABLES . We can no longer do this, as
the environment is too big.
Unfortunately, it now appears that at the time when the Makefile is
initially scanned (by gmake 1.79.1), $(libfoo_la_LIBDEP) is not defined, so
it does not appear as a dependency. However, when "make" goes to create the
target, $(libfoo_la_LIBDEP) *is* defined, so the link fails because the
library has not yet been built.
Is this making sense?
Any ideas on how to fix the problem?
H
- make variables defined via include,
Harlan Stenn <=