I searched over the internet for a command to create a folder if it doesn't exist. I found it and put in my makefile

```
.DEFAULT_GOAL := all
folder := "myfolder"

createfolder:
    [ ! -d ${folder} ] && mkdir -p ${folder}

nextstep:
    echo "Got here!"

all: createfolder nextstep

```

When the folder doesn't exist it's created correctly. But I get an error if the folder already exists.

```bash
$ ls
makefile
$ make
[ ! -d "myfolder" ] && mkdir -p "myfolder"
echo "Got here!"
Got here!
$ ls
makefile  myfolder
$ make
[ ! -d "myfolder" ] && mkdir -p "myfolder"
make: *** [makefile:5: createfolder] Error 1

```

I don't get why the command would give an error if the condition `[ ! -d "myfolder" ]` is before the `mkdir` and it shouldn't even execute the second command.

How can I solve it?