Reglas de GNU Make Pattern en Windows

Reglas de GNU Make Pattern en Windows

Estoy interesado en usar GNU Make en Windows. Creé un pequeño Makefile usando una regla de patrón:

all: abcd.o

%.o : %.c
    echo hi

Sin embargo, cuando intento hacer todo,

D:\test>"C:\Program Files (x86)\GnuWin32\bin\make" -f Makefile.txt
make: *** No rule to make target `abcd.o', needed by `all'.  Stop.

Instalo GNU Make desdeeste repositorio. Eldocumentaciónque encontré describe que este Makefile debería funcionar.

D:\test>"C:\Program Files (x86)\GnuWin32\bin\make" --version
GNU Make 3.81

¿Cómo puedo usar reglas de patrones en GNU Makefiles en Windows?

Respuesta1

hacer: *** No hay regla para hacer que abcd.o', needed bytodos los objetivos sean objetivos. Detener.

Su archivo MAKE contiene:

all: abcd.o

%.o : %.c
    echo hi

Esto solo funcionará si abcd.cexiste un archivo o se puede crear (mediante otra regla).


Por tanto, una regla de la forma

%.o : %.c ; recipe…

especifica cómo hacer un archivo no,con otro archivo nc como requisito previo, siempre que nc exista o pueda crearse.

Fuente10.5.1 Introducción a las reglas de patrones


Otras lecturas

Respuesta2

El archivo abcd.c debe existir.

información relacionada