MakeI(1): what means {} ?

"James K. Lowden" <[email protected]> Sat, 16 Feb 2008 16:21:14 -0500
Newsgroups gmane.os.netbsd.help
Message-ID <[email protected]>
The make(1) man page explains (sort of) that "Targets and sources may
contain the shell wildcard values.... The value `{}' need not necessarily
be used to describe existing files." 

Eh?  Forgive me, but my sh(1) man page doesn't mention {} as a Shell
Pattern, or as anything else for that matter.  (The term "wildcard" isn't
used.  Nor is "glob", unfortunately.)  

I think someone reading the docs should be able to figure things out from
first principles:

1.  make's man page should say what {} means, and/or
2.  sh's man page should say what {} means.  

Unless I'm overlooking something obvious?  

I know this works:

	$ ls dbstream.{h,h.bak}
	dbstream.h      dbstream.h.bak

and maybe that's what's meant. But I don't find even that idiom explained
in either place. 

I'd offer a patch except, er, I don't know the answers to my questions.  

(btw, I was looking for a way to use make to say, "copy any files from
dir1 to dir2 where the source file is more recent."  No luck so far.)

--jkl