GNU Make Pattern-Regeln unter Windows

GNU Make Pattern-Regeln unter Windows

Ich bin daran interessiert, GNU Make unter Windows zu verwenden. Ich habe ein kleines Makefile mit einer Musterregel erstellt:

all: abcd.o

%.o : %.c
    echo hi

Wenn ich jedoch versuche, alles zu machen,

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

Ich installiere GNU Make vondieses Repository. DerDokumentationdas ich gefunden habe, beschreibt, dass dieses Makefile funktionieren sollte.

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

Wie kann ich Musterregeln in GNU-Makefiles unter Windows verwenden?

Antwort1

make: *** Keine Regel, um abcd.o', needed by„alle zum Ziel zu machen“. Stopp.

Ihr Makefile enthält:

all: abcd.o

%.o : %.c
    echo hi

Dies funktioniert nur, wenn eine Datei abcd.cvorhanden ist oder (durch eine andere Regel) erstellt werden kann.


Somit ergibt sich eine Regel der Form

%.o : %.c ; recipe…

gibt an, wie eine Datei erstellt wird,mit einer anderen Datei nc als Voraussetzung, sofern nc existiert oder gemacht werden kann.

Quelle10.5.1 Einführung in Musterregeln


Weiterführende Literatur

Antwort2

Die Datei abcd.c muss vorhanden sein.

verwandte Informationen