
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.c
vorhanden 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
- Ein einfaches Makefile-Tutorial– enthält einige einfache, vollständige Makefile-Beispiele.
Antwort2
Die Datei abcd.c muss vorhanden sein.