PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : No Rule to make target 'all'



TillHoffmann
04.09.2004, 16:07
Ich hab ein Problem beim Kompilieren.
Der Kompiler ist doch extern, oder???
Gibt es mehrere Kompiler???
Welcher ist zu empfehlen??? C/C++
Und wie benutzt man den Kompiler.

Ich hab leider kein Tutorial gefunden, das mir weiterhilft.
Wenn ich das Tool 'Make All' aufrufe, kriege ich oben genannte Fehlermeldung.

Pascal
04.09.2004, 17:26
des kam bei mir auch immer, als ich vergessen habe, ein Makefile zu erstellen
verwendest du WinAVR?
wenn ja, gibt es da ein Programm MFile, mit dem du diese Datei sehr einfach erstellen kannst, dazu musst du das Programm starten, den Namen der c-Datei angeben, den Mikrocontroller und ein paar andere Sachen, dann speicherst du diese Datei in dem Verzeichnis, wo deine c-Datei is und dann müsste das kompilieren gehen

04.09.2004, 17:50
Unter welchem Namen muss ich das Makefile speichern, damit der Kompiler es erkennt???

Ist MFile ein externes Programm???
Link???

Pascal
04.09.2004, 17:55
als Makefile(das, was schon vorgegeben ist)
das ist bei WinAVR dabei, allerdings nicht in Programmers Notepad, sondern separat(bei mir wars direkt auf dem Desktop), musst halt mal nach dem Programm MFile auf deiner hdd suchen

bandit
05.09.2004, 13:46
Falls du das "make" in der Kommandozeile nutzt kannst du die Option -f benutzen um ein Makefile vorzugeben (make -f makefile_datei all). Ansonsten benutzt "make", im aktuellen Verzeichnis, die Datei namens "makefile" bzw "Makefile" als Default.

05.09.2004, 13:50
OK, vielen Dank, das funktioniert jetzt, aber mein Quelltext nicht mehr.
Ich hab genau die gleiche Datei einmal mit make all und einmal mit avr-gcc.exe kompiliert. Mit der avr-gcc.exe funktioniert zwar das Display, aber nicht der Timer und bei make all genau umgekehrt.

06.09.2004, 09:17
Noch ein kurzer Einschub zu "make".

"make" ist kein Compiler. "make" wird genutzt um Abhaengigkeiten der einzelnen Source files festzulegen und dementsprechend den definierten Compiler aufzurufen.

Ein gute Einfuehrung zu dem Thema findet man unter
http://www.linux-magazin.de/Artikel/ausgabe/2000/03/Make/make.html

Bis denne

gerd domrath
27.06.2005, 14:41
Seit kurzem habe ich auf meinem Laptop: Compaq Armada M700 Windows XP installiert. (Vorher Windows2000) danach funktionierte mein WinAVR nicht mehr.
Es kam genau diese Fehlermeldung: No rule to make target 'all'
(beim Übersetzen des "demo"-Programms in examples).
Die selbe Installation auf meinem Desktop-PC mit der selben XP-Version funktionierte auf Anhieb.
Im Internet hab ich nichts über eine Lösung hierzu entdeckt :frown:
Durch massives Ausprobieren und Austauschen der makefiles und make.exe bin ich zu einer merkwürdigen Lösung gekommen.
Ich hatte das make.exe unter \winavr\utils\bin umbenannt um ein anderes auszuprobieren. Ich nannte es make_1.exe.
Wenn ich dieses Programm aufrief: unter winavr\examples\demo make_1 all, funktionierte das "make" plötzlich.
Benannte ich es wieder um, funktionierte es nicht mehr!
Nun musste ich mein Programmers Notepad (PN) so hacken dass es nicht mehr make.exe sondern make_1.exe aufrief.
Netterweise sind die Aufrufe in einer XML-Datei unter WinAVR\pn\tools\WinAVE.xml hinterlegt.
Nach der Änderung der drei Aufrufe von make.exe nach make_1.exe klappte alles auch aus PN heraus.
Kann mir das jemand erklären?
Gibt es einen einfacheren Weg zum Ziel?

Gerd Domrath.

Arexx-Henk
27.06.2005, 15:03
Gibt es vielleicht noch ein 'make.exe' oder 'make.bat' oder 'make.com' datei irgendwo in deinem computer und ist ein verzeichnis dazu im PATH in AUTOEXEX.BAT datei aufgenommen?

nur so eine idee

gruss

Henk

gerd domrath
27.06.2005, 15:28
Ja, aber dort hin zeigt der "path" nicht!

Selbst beim Aufruf unter der DOS-Box im xp war das Problem da.
Ich habe zur Sicherheit noch mal probiert die C-Source von "demo" und das makefile in das Verzeichnis WinAVR\Utils\bin zu kopieren, aber das Bild war das gleiche.
Es kommt immer diese Fehlermeldung...
:-s

Arexx-Henk
27.06.2005, 19:07
Ja, aber dort hin zeigt der "path" nicht!

Du meinst: da ist noch ein andere make.exe irgendwo?

Wenn ja, solltest du diesen datei einen anderen namen geben um aus zu probieren ob PN2 (und DOS window) vielleicht doch diesen datei anruft.

gruss

Henk

gerd domrath
28.06.2005, 07:52
An die anderen "makes" kommt PN definitiv nicht dran!

Wenn ich das make.exe im Verzeichnis \WinAVR\utils\bin lösche kommt die Fehlermeldung "Das System konnte die angegebene Datei nicht finden"

Sonst war der Tip mit dem anderen "make.exe" aber eine gute Idee!

Gerd Domrath