
Estou interessado em usar o GNU Make no Windows. Criei um pequeno Makefile usando uma regra de padrão:
all: abcd.o
%.o : %.c
echo hi
No entanto, quando tento fazer tudo,
D:\test>"C:\Program Files (x86)\GnuWin32\bin\make" -f Makefile.txt
make: *** No rule to make target `abcd.o', needed by `all'. Stop.
Eu instalo o GNU Make deeste repositório. Odocumentaçãoque encontrei descreve que este Makefile deve funcionar.
D:\test>"C:\Program Files (x86)\GnuWin32\bin\make" --version
GNU Make 3.81
Como posso usar regras padrão em GNU Makefiles no Windows?
Responder1
make: *** Nenhuma regra para fazer com que abcd.o', needed by
todos sejam direcionados'. Parar.
Seu makefile contém:
all: abcd.o
%.o : %.c
echo hi
Isso só funcionará se um arquivo abcd.c
existir ou puder ser criado (por outra regra).
Assim, uma regra da forma
%.o : %.c ; recipe…
especifica como fazer um arquivo não,com outro arquivo nc como pré-requisito, desde que nc exista ou possa ser criado.
Fonte10.5.1 Introdução às Regras de Padrão
Leitura adicional
- Um tutorial simples de Makefile- contém alguns exemplos simples e completos de makefile.
Responder2
O arquivo abcd.c precisa existir.