On Thu, 2005-06-23 at 15:06 -0400, Levent Yilmaz wrote: > I have a set of associated pairs. And want to execute some command on > each pair. Say for example, > > # define present-past tense pairs as follows > present_tense = go do sit call > past_tense = went did sat called > > # somehow generate this phony command for each pair > # using eval (or by other(?) means) > @echo $(present) today. $(past) yesterday. > > What I want to accomplish in effect is simply using $(foreach ...) but > iterate simultaneously through more than one list...
If you grab my GNU Make Standard Library (http://gmsl.sf.net/), then you can do the following: include gmsl present_tense = go do sit call past_tense = went did sat called define-all = $(eval all:: ; @echo $1 today. $2 yesterday) $(call pairmap,define-all,$(present_tense),$(past_tense)) This sets up a rule for 'all' that will output the required items. I used a :: rule here, but you could do all sorts of things with pairmap. Here's the output: go today. went yesterday do today. did yesterday sit today. sat yesterday call today. called yesterday John. -- John Graham-Cumming Home: http://www.jgc.org/ Work: http://www.electric-cloud.com/ POPFile: http://getpopfile.org/ GNU Make Standard Library: http://gmsl.sf.net/ _______________________________________________ Help-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-make
