O Windows determina quais arquivos são executáveis por sua extensão. Os executáveis nativos devem ter a extensão .exe . O Cygwin contém alguma mágica para que, quando você se referir a um arquivo install e não houver nenhum arquivo com esse nome, tente install.exe . Ele faz isso mesmo em contextos que não são executados porque, quando um programa procura os metadados de um arquivo, a biblioteca não tem como saber se o programa pretende executá-lo mais tarde.
Portanto, se houver um arquivo chamado install.exe no diretório atual, make o verá e considerará o destino da regra install . Se install.exe for mais recente que os pré-requisitos da regra install , make determinará (corretamente do ponto de vista) que não há nada a fazer.
Você pode adicionar a linha .PHONY: install ao makefile. Isso indica que o install target não é um arquivo real, e make irá ignorar qualquer arquivo com esse nome.
Como alternativa, renomeie ou mova install.exe para fora do caminho.