summaryrefslogtreecommitdiff
path: root/dmake/rulparse.c
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2006-09-25 08:40:47 +0000
committerVladimir Glazounov <vg@openoffice.org>2006-09-25 08:40:47 +0000
commit5e566a5668a35ba02a29d61fbf8624409eb981da (patch)
tree20f60048ec04cce4f1fd82abec3f57b3d9448fdf /dmake/rulparse.c
parentbfc5da87bc233ad9328f567690c6a4763154a79f (diff)
INTEGRATION: CWS dmake46 (1.8.2); FILE MERGED
2006/09/20 17:32:13 vq 1.8.2.4: #i66567# Show the ".SUFFIXES target has no special meaning" warning only if the -v[w] verbose flag is given. 2006/08/21 04:22:41 vq 1.8.2.3: #i10000# Add some code comments. 2006/07/10 20:46:07 vq 1.8.2.2: #i66567# Deprecate the obsolete special target .SUFFIXES as it has no special meaning. 2006/07/10 01:08:42 vq 1.8.2.1: #i67025# Fix problem of %-targets with attribute .SILENT and -vr verbose flag.
Diffstat (limited to 'dmake/rulparse.c')
-rw-r--r--dmake/rulparse.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/dmake/rulparse.c b/dmake/rulparse.c
index f56e54a10343..23d11e509286 100644
--- a/dmake/rulparse.c
+++ b/dmake/rulparse.c
@@ -1,6 +1,6 @@
/* $RCSfile: rulparse.c,v $
--- $Revision: 1.8 $
--- last change: $Author: ihi $ $Date: 2006-06-29 11:24:37 $
+-- $Revision: 1.9 $
+-- last change: $Author: vg $ $Date: 2006-09-25 09:40:47 $
--
-- SYNOPSIS
-- Perform semantic analysis on input
@@ -148,6 +148,10 @@ int *state;
DB_PRINT( "par", ("tg_cell [%s]", tok) );
if( (at = _is_attribute(tok)) != 0 ) {
+ /* Ignore .SILENT when -vr is active. */
+ if( (Verbose & V_FORCEECHO) && (at == A_SILENT) )
+ at = 0;
+
/* Logically OR the attributes specified into one main
* ATTRIBUTE mask. */
@@ -429,7 +433,7 @@ Bind_rules_to_targets( flag )/*
Take the recipe lines we have defined and bind them with proper attributes
to the targets that were previously defined in the parse. The
attributes that get passed here are merged with those that are were
- previously defined. (namely F_SINGLE) */
+ previously defined. (namely attribute F_SINGLE) */
int flag;
{
CELLPTR tg; /* pointer to current target in list */
@@ -739,7 +743,6 @@ int *state;
break;
case ST_SOURCE:
- /* case ST_SUFFIXES: */
if( prereq != NIL(CELL) )
_do_targets( op & (R_OP_CL | R_OP_MI | R_OP_UP), attr, set_dir,
target, prereq );
@@ -1551,8 +1554,7 @@ char *name;
case 'S':
if( !strncmp(name, "SETDIR=", 7) ) attr = A_SETDIR;
- /* let .SILENT do nothing when -vr is active. */
- else if( !(Verbose & V_FORCEECHO) && !strcmp(name, "SILENT") ) attr = A_SILENT;
+ else if( !strcmp(name, "SILENT") ) attr = A_SILENT;
else if( !strcmp(name, "SYMBOL") ) attr = A_SYMBOL;
else if( !strcmp(name, "SEQUENTIAL")) attr = A_SEQ;
else if( !strcmp(name, "SWAP")) attr = A_SWAP;
@@ -1619,7 +1621,11 @@ char *tg;
case 'S':
if( !strncmp( tg, "SOURCE", 6 ) ) DB_RETURN( ST_SOURCE );
- else if( !strncmp(tg, "SUFFIXES", 8 )) DB_RETURN( ST_SOURCE );
+ else if( !strncmp(tg, "SUFFIXES", 8 )) {
+ if (Verbose & V_WARNALL)
+ Warning( "The .SUFFIXES target has no special meaning and is deprecated." );
+ DB_RETURN( ST_SOURCE );
+ }
break;
case 'T':