summaryrefslogtreecommitdiff
path: root/usr.bin/make/parse.c
diff options
context:
space:
mode:
authorchristos <christos@NetBSD.org>2003-03-21 19:14:53 +0000
committerchristos <christos@NetBSD.org>2003-03-21 19:14:53 +0000
commitbef3a7f7355f6920648936c8f0acd68bc10fb6d0 (patch)
treeb0e865571fd1249b0e8db6107b62fa91ff4cacea /usr.bin/make/parse.c
parent2b72827e41a16f8599001d4fe31fa1824b879391 (diff)
don't mess with suffix rules.
Diffstat (limited to 'usr.bin/make/parse.c')
-rw-r--r--usr.bin/make/parse.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/usr.bin/make/parse.c b/usr.bin/make/parse.c
index 3dcb1b903fb..2ff4cebcf2a 100644
--- a/usr.bin/make/parse.c
+++ b/usr.bin/make/parse.c
@@ -1,4 +1,4 @@
-/* $NetBSD: parse.c,v 1.88 2003/03/21 16:48:21 sjg Exp $ */
+/* $NetBSD: parse.c,v 1.89 2003/03/21 19:14:53 christos Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -39,14 +39,14 @@
*/
#ifdef MAKE_BOOTSTRAP
-static char rcsid[] = "$NetBSD: parse.c,v 1.88 2003/03/21 16:48:21 sjg Exp $";
+static char rcsid[] = "$NetBSD: parse.c,v 1.89 2003/03/21 19:14:53 christos Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)parse.c 8.3 (Berkeley) 3/19/94";
#else
-__RCSID("$NetBSD: parse.c,v 1.88 2003/03/21 16:48:21 sjg Exp $");
+__RCSID("$NetBSD: parse.c,v 1.89 2003/03/21 19:14:53 christos Exp $");
#endif
#endif /* not lint */
#endif
@@ -629,6 +629,13 @@ ParseDoSpecialSrc(ClientData tp, ClientData sp)
char *cp2;
char *pref;
+ /*
+ * If the target is a suffix rule, leave it alone.
+ */
+ if (Suff_IsTransform(tn->name)) {
+ ParseDoSrc(ss->op, ss->src, ss->allsrc, FALSE); /* don't come back */
+ return 0;
+ }
Var_Set(TARGET, tn->name, tn, 0);
if ((pref = strrchr(tn->name, '/')))
pref++;