В Makefile можно сохранить вывод выполнения команды командной оболочки в переменную, используя конструкцию $(shell):
```
VAR_NAME := $(shell command)
```
где VAR_NAME - имя переменной, в которую будет сохранен вывод команды, а command - команда командной оболочки.
Например, чтобы сохранить вывод команды "powershell --version", можно использовать следующую конструкцию:
```
PS_VERSION := $(shell powershell --version)
```
Чтобы проверить версию PowerShell, можно использовать условную конструкцию ifeq:
```
ifeq ($(PS_VERSION), версия_которую_нужно_проверить)
# действия, если условие истинно
else
# действия, если условие ложно
endif
```
Вместо "версия_которую_нужно_проверить" нужно указать конкретную версию PowerShell, с которой нужно сравнивать.
Также стоит проверить, что команда "powershell" доступна и может быть вызвана из Makefile, так как в переменную может быть сохранен пустой вывод, если команда не найдена.