I'm not sure about your syntax. I think you might mean: $(ROOT)etc/dir1/%: % cp $< $@ chmod 644 $@
and so on. Anyway the way I'd go about this would be: $(foreach d,etc/dir1 etc/dir2 etc/dirN,$(eval $(ROOT)$(d)/%: % ; cp $< $@ && chmod 644 $@)) I haven't tested it, but it should at least be close to what I think you want. HTH, Noel Ram Bhamidipaty wrote: > > I have a series of rules like this in my Makefile: > > $(ROOT)etc/dir1/%: $(ROOT)etc/dir1/%: % > cp $< $@ > chmod 644 $@ > > $(ROOT)etc/dir2/%: $(ROOT)etc/dir2/%: % > cp $< $@ > chmod 644 $@ > > ... > > $(ROOT)etc/dirN/%: $(ROOT)etc/dirN/%: % > cp $< $@ > chmod 644 $@ > > Is there a way to write all of these static pattern rules with one rule? > > When I did a google search on this I saw that there was a patch submitted > for that back in 1997, but there is no documentation in the make manuals > that suggests that this feature has been incorporated into gnu make. > > Thanks for any info? > -Ram > > _______________________________________________ > Bug-make mailing list > [EMAIL PROTECTED] > http://mail.gnu.org/mailman/listinfo/bug-make -- NOTICE: If received in error, please destroy and notify sender. Sender does not waive confidentiality or privilege, and use is prohibited. _______________________________________________ Bug-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-make