I'm relatively new to make and am having difficulty with string equality.
Browsing through this newgroup it seems that such questions are not
uncommon. I apologize for having to ask a slight variation of a repeated
questions.

I've a make file very much like the following: 

        TYPE := `cat /tmp/bag_type`

        .PHONY: default
        default:
        ifeq (foo,$(strip $(TYPE)))
                @echo "You win a whole bag of $(TYPE)!"
        else
                @echo "Nope, no $(TYPE) for you."
        endif

If /tmp/bag_type does not contain `foo' the Makefile prints out the second
echo, a behavior I very much expected. However, if /tmp/bag_type does
contain `foo' the latter string is still echoed out. I do not understand
why. From the understanding of make I've gleaned from the make manual TYPE
should be set during the first phase of reading and, assuming it is set to
`foo', the ifeq branch evaluated as true. Upon the second read phase the
first @echo should, thus, be evaluated.

I am obviously confused, but how and where?

Reply via email to