default: a\ b
a\ b:
touch "a b"
FILE = a\ b
default: $(FILE)
$(FILE):
touch "a b"
OK, butMake sees a and b and two separate targets. Double quotes work a little differently in makefiles.
try this...
Code:default: a\ b a\ b: touch "a b"
Or this...
Code:FILE = a\ b default: $(FILE) $(FILE): touch "a b"
$ tree
├── a b
└── makefile
$ cat makefile
spaces := $(shell echo "a b")
default: $(spaces)
$ make
make: *** No rule to make target 'a', needed by 'default'. Stop.
spaces := $(shell echo "a b")