Você não pode. A sintaxe makefile depende muito do espaço em branco para separar palavras. É difícil escrever makefiles que funcionem corretamente quando os nomes dos arquivos contêm espaços, e os makefiles do kernel Linux, como a maioria dos makefiles, não tentam.
Também é difícil organizar os nomes dos arquivos corretamente quando eles são usados em um comando em um makefile, e também a maioria dos makefiles não tenta. Portanto, evite todos os caracteres que são especiais para o shell: não apenas espaço em branco, mas também !"#$&'()*;<=>?[]\'{|}
.
Uma solução alternativa no seu caso seria usar um link simbólico cujo caminho não contenha caracteres especiais. Eu acho que isso funciona com makefiles do kernel Linux. Ele não funciona em makefiles que usam o GNU make realpath
function, mas os makefiles do kernel não o usam em caminhos para drivers externos.
axor@vacuum:~/software/CS 8803/Operating System Concepts/Chapter 2/ch2$ ln -s "$PWD" /tmp/ch2
axor@vacuum:~/software/CS 8803/Operating System Concepts/Chapter 2/ch2$ cd !$
axor@vacuum:/tmp/ch2$ make
make -C /lib/modules/4.9.0-3-amd64/build M="/tmp/ch2" modules
…