Hi Paul and others, 

I'd like to use $(eval) to abbreviate some make commands, but I'm having
trouble combining that with the $(warning) command.

Here's an example that gives the flavor of what I'm trying to do:


# These shorthand macros are actually defined elsewhere using an eval'ed macro:
one.o   := a/a/one.o
two.o   := b/b/two.o
three.o := c/c/three.o
four.o  := d/d/four.o
five.o  := e/e/five.o

ALL_BASE := one two three four five

define DEFINE_OBJ_LIST
$(1)_OBJS := $(foreach BASE,$(filter $(2)%,$(ALL_BASE)),$($(BASE).o))
$(warning $(1)_OBJS (contains $(words $($(1)_OBJS)) objects) = $($(1)_OBJS))
endef


$(eval $(call DEFINE_OBJ_LIST,ONE,one))
$(eval $(call DEFINE_OBJ_LIST,TWO,two))

.PHONY: all

all:
        echo $(ONE_OBJS) $(TWO_OBJS)



      make -f maketest.mk all
      
      
      maketest.mk:15: ONE_OBJS (contains 0 objects) = 
      maketest.mk:16: TWO_OBJS (contains 0 objects) = 
      echo a/a/one.o b/b/two.o
      a/a/one.o b/b/two.o

Basically, I'm trying to extract part of a very long list and then see what I
fished out.  I do this a lot so I'd like to automate it.  But as you can see
from the v3.80 output, $(warning) doesn't show the output I want.

I'm sure I'm misunderstanding something, but I don't see what it is.

Thanks for your time,
-- 
 Ted Stern                                 Applications Group
 Cray Inc.                               office: 206-701-2182
 411 First Avenue South, Suite 600         cell: 206-383-1049
 Seattle, WA 98104-2860                     FAX: 206-701-2500

 Frango ut patefaciam -- I break that I may reveal
 (The Paleontological Society motto, equally apropos for debugging)



_______________________________________________
Bug-make mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to