version 1.102, 2012/04/11 18:27:30 |
version 1.103, 2012/04/17 09:34:15 |
|
|
} |
} |
} |
} |
|
|
|
static char * |
|
operator_string(int op) |
|
{ |
|
/* XXX we don't bother freeing this, it's used for a fatal error |
|
* anyways |
|
*/ |
|
char *result = emalloc(5); |
|
char *t = result; |
|
if (op & OP_DEPENDS) { |
|
*t++ = ':'; |
|
} |
|
if (op & OP_FORCE) { |
|
*t++ = '!'; |
|
} |
|
if (op & OP_DOUBLEDEP) { |
|
*t++ = ':'; |
|
*t++ = ':'; |
|
} |
|
*t = 0; |
|
return result; |
|
} |
|
|
/*- |
/*- |
*--------------------------------------------------------------------- |
*--------------------------------------------------------------------- |
* ParseDoOp -- |
* ParseDoOp -- |
|
|
*/ |
*/ |
if (((op & OP_OPMASK) != (gn->type & OP_OPMASK)) && |
if (((op & OP_OPMASK) != (gn->type & OP_OPMASK)) && |
!OP_NOP(gn->type) && !OP_NOP(op)) { |
!OP_NOP(gn->type) && !OP_NOP(op)) { |
Parse_Error(PARSE_FATAL, "Inconsistent operator for %s", |
Parse_Error(PARSE_FATAL, |
gn->name); |
"Inconsistent dependency operator for target %s\n" |
|
"\t(was %s%s, now %s%s)", |
|
gn->name, gn->name, operator_string(op), |
|
gn->name, operator_string(gn->type)); |
return 0; |
return 0; |
} |
} |
|
|