Hi,

 

I am seeing what appears to be a false positive with the 'ifeq' conditional in make.  An example of the problem can be reproduced in the following snippette:

 

ALL_BLOCKS        := a b c d e

SOME_BLOCKS       := c d

 

$(ALL_BLOCKS):

      @echo "the target is ->$@<-"

ifeq  ($@, $(filter $@, $(SOME_BLOCKS)))

      @echo "yes ->$@<=>$(filter $@, $(SOME_BLOCKS))<-"

else

      @echo "no  ->$@<=>$(filter $@, $(SOME_BLOCKS))<-"

endif

 

Basically i am trying to check if the given letter is in a subset of the full list of letters. 

 

make d

the target is ->d<-

yes ->d<=>d<-

 

make a

the target is ->a<-

yes ->a<=><-

 

I have tried many variations in syntax without success.  Can anyone explain this?

 

 

thanks,

 

-chuck

_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to