I have one version file `verfile` which contains below version string  

`V1.1.2`

And in Makefile I intend to read this version string,
So I wrote Makefile as follows,

```
filepath        :=      $(PWD)
versionfile     :=      $(filepath)/verfile

all:
        cat $(versionfile)
        version=$(shell cat $(versionfile))
        echo "version=$(version)"

```

Now when I run the make file I get following ouput

```
cat /home/ubuntu/ankur/verfile
v1.1.2
version=v1.1.2
echo "version="
version=

```

So I am not able to store version string in the variable and use it later,
I am not sure what am I doing wrong?

Any suggestion/pointer ?

After reading answer from "Didier Trosset" I changed my makefile as follows,

```
filepath        :=      $(PWD)
versionfile     :=      $(filepath)/verfile
myversion       :=      ""

all:

ifeq ($(wildcard $(versionfile)),)
all:
        echo "File not present"
else
all: myversion = $(shell cat $(versionfile))
endif
all:
        echo "myversion = $(myversion)"

```

and below is output for the 

```
echo "myversion = v1.1.2"
myversion = v1.1.2

```