Я пытаюсь скомпилировать проект на Windows 7 с помощью GNUWin32 make. Я запускаю make из папки, где находится Makefile, но получаю следующую ошибку:
[ ! -d libmf ] && mkdir -p libmf
"[" is not recognised as internal or external command, operable program or batch file
Я предполагаю, что по какой-то причине интерпретатор cmd не разбирает квадратные скобки, но эта запись описана в руководствах, а makefile исходит от производителя и должен быть правильным. Пробовал make с разными таргетами, текст в ошибочной строке меняется (там таргет определяет макрос), но ошибка та же. Место в make-файле, которое вызывает это, выглядит так:
libmf$(LIBSUFFIX):
[ ! -d $@ ] && mkdir -p $@
[ ! -d libmf ]
- это синтаксис bash, он не может работать, если вы не вызовете make в оболочке bash, подобной той, что предоставляется Cygwin или Msys2. - person user657267   schedule 29.01.2016