Add at 'X' attribute to indicate rules that are not to be run concurrently with anything

This commit is contained in:
Daniel Jones 2013-07-09 23:13:37 -07:00
parent 782a73e0d9
commit 1eb840af57
3 changed files with 57 additions and 14 deletions

View file

@ -20,6 +20,7 @@ type attribSet struct {
regex bool // regular expression meta-rule
update bool // treat the targets as if they were updated
virtual bool // rule is virtual (does not match files)
exclusive bool // don't execute concurrently with any other rule
}
// Error parsing an attribute
@ -113,6 +114,8 @@ func (r *rule) parseAttribs(inputs []string) *attribError {
r.attributes.update = true
case 'V':
r.attributes.virtual = true
case 'X':
r.attributes.exclusive = true
case 'P':
if pos+w < len(input) {
r.command = append(r.command, input[pos+w:])