dynamic dependencies for library member targets are working again.

This commit is contained in:
matthias 2016-03-15 06:25:14 +00:00
parent 6b5e7a1e2e
commit 7215e4a264
1 changed files with 14 additions and 5 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: suff.c,v 1.79 2016/03/14 07:42:15 matthias Exp $ */ /* $NetBSD: suff.c,v 1.80 2016/03/15 06:25:14 matthias Exp $ */
/* /*
* Copyright (c) 1988, 1989, 1990, 1993 * Copyright (c) 1988, 1989, 1990, 1993
@ -69,14 +69,14 @@
*/ */
#ifndef MAKE_NATIVE #ifndef MAKE_NATIVE
static char rcsid[] = "$NetBSD: suff.c,v 1.79 2016/03/14 07:42:15 matthias Exp $"; static char rcsid[] = "$NetBSD: suff.c,v 1.80 2016/03/15 06:25:14 matthias Exp $";
#else #else
#include <sys/cdefs.h> #include <sys/cdefs.h>
#ifndef lint #ifndef lint
#if 0 #if 0
static char sccsid[] = "@(#)suff.c 8.4 (Berkeley) 3/21/94"; static char sccsid[] = "@(#)suff.c 8.4 (Berkeley) 3/21/94";
#else #else
__RCSID("$NetBSD: suff.c,v 1.79 2016/03/14 07:42:15 matthias Exp $"); __RCSID("$NetBSD: suff.c,v 1.80 2016/03/15 06:25:14 matthias Exp $");
#endif #endif
#endif /* not lint */ #endif /* not lint */
#endif #endif
@ -1894,6 +1894,7 @@ SuffFindArchiveDeps(GNode *gn, Lst slst)
TARGET, /* Must be first */ TARGET, /* Must be first */
PREFIX, /* Must be second */ PREFIX, /* Must be second */
}; };
LstNode ln, nln; /* Next suffix node to check */
int i; /* Index into copy and vals */ int i; /* Index into copy and vals */
Suff *ms; /* Suffix descriptor for member */ Suff *ms; /* Suffix descriptor for member */
char *name; /* Start of member's name */ char *name; /* Start of member's name */
@ -1959,7 +1960,16 @@ SuffFindArchiveDeps(GNode *gn, Lst slst)
* Set $@ for compatibility with other makes * Set $@ for compatibility with other makes
*/ */
Var_Set(TARGET, gn->name, gn, 0); Var_Set(TARGET, gn->name, gn, 0);
/*
* Now we've got the important local variables set, expand any sources
* that still contain variables or wildcards in their names.
*/
for (ln = Lst_First(gn->children); ln != NULL; ln = nln) {
nln = Lst_Succ(ln);
SuffExpandChildren(ln, gn);
}
if (ms != NULL) { if (ms != NULL) {
/* /*
* Member has a known suffix, so look for a transformation rule from * Member has a known suffix, so look for a transformation rule from
@ -1967,7 +1977,6 @@ SuffFindArchiveDeps(GNode *gn, Lst slst)
* through the entire list, we just look at suffixes to which the * through the entire list, we just look at suffixes to which the
* member's suffix may be transformed... * member's suffix may be transformed...
*/ */
LstNode ln;
SuffixCmpData sd; /* Search string data */ SuffixCmpData sd; /* Search string data */
/* /*