Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.bin/make dynamic dependencies for library member targets...



details:   https://anonhg.NetBSD.org/src/rev/171e7836df6c
branches:  trunk
changeset: 814279:171e7836df6c
user:      matthias <matthias%NetBSD.org@localhost>
date:      Tue Mar 15 06:25:14 2016 +0000

description:
dynamic dependencies for library member targets are working again.

diffstat:

 usr.bin/make/suff.c |  19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)

diffs (60 lines):

diff -r 5796f2e5717e -r 171e7836df6c usr.bin/make/suff.c
--- a/usr.bin/make/suff.c       Tue Mar 15 06:16:22 2016 +0000
+++ b/usr.bin/make/suff.c       Tue Mar 15 06:25:14 2016 +0000
@@ -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
@@ -69,14 +69,14 @@
  */
 
 #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
 #include <sys/cdefs.h>
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)suff.c     8.4 (Berkeley) 3/21/94";
 #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 /* not lint */
 #endif
@@ -1894,6 +1894,7 @@
        TARGET,             /* Must be first */
        PREFIX,             /* Must be second */
     };
+    LstNode    ln, nln;    /* Next suffix node to check */
     int                i;          /* Index into copy and vals */
     Suff       *ms;        /* Suffix descriptor for member */
     char       *name;      /* Start of member's name */
@@ -1959,7 +1960,16 @@
      * Set $@ for compatibility with other makes
      */
     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) {
        /*
         * Member has a known suffix, so look for a transformation rule from
@@ -1967,7 +1977,6 @@
         * through the entire list, we just look at suffixes to which the
         * member's suffix may be transformed...
         */
-       LstNode         ln;
        SuffixCmpData   sd;             /* Search string data */
 
        /*



Home | Main Index | Thread Index | Old Index