I notice that implicit-rule local variables now work: BBS = foo.bb
%.bb: SHELL = /usr/bin/perl %.bb: .SHELLFLAGS = -w -E $(BBS): %.bb: %.aa not system("cp $< $@") or die; any change we could take the next step and make static-pattern local vars? Like so: BBS = foo.bb $(BBS): %.bb: SHELL = /usr/bin/perl $(BBS): %.bb: .SHELLFLAGS = -w -E $(BBS): %.bb: %.aa not system("cp $< $@") or die; I try to avoid non-static pattern rules because they seem to often result in confusing behavior and confusing error messages, and I'd like to have local variables correctly scoped. Britton