find
команда является основным инструментом для рекурсивных операций файловой системы. Используйте -type d
выражение для сообщения find
Вы интересуетесь нахождением каталогов только (и не простые файлы). Версия GNU find
поддержки -empty
тест, таким образом,
$ find . -type d -empty -print
распечатает все пустые каталоги ниже Вашего текущего каталога.
Использовать find ~ -…
или find "$HOME" -…
основывать поиск на Вашем корневом каталоге (если это не Ваш текущий каталог).
После того, как Вы проверили, что это выбирает корректные каталоги, использовать -delete
удалить все соответствия:
$ find . -type d -empty -delete
Windows определяет, какие файлы являются исполняемым файлом своим расширением. Собственные исполняемые файлы должны иметь расширение .exe
. Cygwin содержит некоторое волшебство так, чтобы, когда Вы обращаетесь к файлу install
и нет никакого файла тем именем, оно пробует install.exe
. Это делает это даже в контекстах, которые не являются о выполнении, потому что, когда программа ищет метаданные файла, библиотека не имеет никакого способа знать, намеревается ли программа выполнить его позже.
Таким образом, если существует названный файл install.exe
в текущем каталоге, make
видит его и думает, что это - цель install
правило. Если install.exe
более свежо, чем предпосылки install
правило, make
определяет (правильно с его точки зрения), что там не имеет отношения.
Можно добавить строку .PHONY: install
к make-файлу. Это говорит, делают это install
цель не является реальным файлом, и составьте завещание, игнорируют любой файл тем именем.
С другой стороны, переименуйте или переместитесь install.exe
из пути.
Обычно это означает, что Вы уже сделали make install
и это не должно делать этого снова.
Если Вы думаете, что действительно необходимо восстановить сборку, затем пробуют это:
make clean
make
make install
ПРЕДУПРЕЖДЕНИЕ: Что был бы стандартный способ сделать это, но у автора Вашего проекта, возможно, были другие идеи.