Forum: Compiler & IDEs Problem mit Makefile


von No N. (assi)


Angehängte Dateien:

Lesenswert?

Hallo,

ich beschäftige mich nun seit rund 2 Wochen ein bisschen mit dem 
ATmega8, mit Bascom hat das Programmieren auch mehr oder weniger 
geklappt da ich jedoch mit C mehr anfangen kann hab ich mir mal das 
Tutorial "reingezogen"!
Nun habe ich folgendes Problem wenn ich in "Programmers Notepad" auf 
Make All gehe kommt folgender Fehler:
1
make.exe: *** No rule to make target `superprog.elf', needed by `elf'.  Stop.

Makefile habe ich nach Tutorial mit Mfile bearbeitet(siehe 
Dateianhang!).

Weis jmd einen Rat weil das Internet weis auch keine Antwort^^??

mfg

assi

von bastler (Gast)


Lesenswert?

...SRC = $(TARGET).c uart.c lcd.c 1wire.c...

da kommt das ".c" nicht mehr dahinter.

von No N. (assi)


Lesenswert?

hallo,

das .c nach (TARGET) hab ich entfernt das macht aber keinen Unterschied. 
ICh weis auch nicht habs gerade auf anderen PC installiert genau das 
gleiche Problem

mfg
assi

von Daniel S. (enton)


Lesenswert?

Kommt der Fehler auch bei anderen Projekten?
Probier mal ein ganz einfaches Program zu schreiben, das ne LED oder so 
ansteuert und nenn es einfach main.c. Wenn der fehler dann immer noch 
kommt, dann weißt du zumindest schon mal, das es nicht an falsch 
eigegebenen Files liegt.

von holger (Gast)


Lesenswert?

Existieren folgende Dateien im Projektverzeichnis ?

superprog.c
uart.c
lcd.c
1wire.c (sollte das 1 (eins) oder l 'L' heissen ? )
         mach mal ein onewire.c draus.

von yalu (Gast)


Lesenswert?

In Zeile 545 des Makefile steht
1
%.elf: $(OBJ)
Das geht so nicht, zumindest nicht mit der aktuellen Version von Make.
Statt dessen sollte da stehen:
1
$(TARGET).elf: $(OBJ)
Ich kenne mich mit MFile nicht aus, und weiß deswegen nicht, wie
dieses Makefile zustande kommt. Möglicherweise hast du einfach eine
veraltete Version erwischt, also am besten die komplette Software auf
den neuesten Stand bringen.

von holger (Gast)


Lesenswert?

>1wire.c (sollte das 1 (eins) oder l 'L' heissen ? )
>         mach mal ein onewire.c draus.

Is ja witzig ! Wenn man hier Text eingibt sieht ne 1 (eins)
wie ein l 'L' aus ;) Erst nach absenden sieht ne 1 wie eins aus.
Firefox ?

von No N. (assi)


Lesenswert?

Danke für die vielen Antworten das geht ja wirklich schnell hier!!!

ICh werde das jetz mal ausprobieren die neuste Version hab ich 
eigentlich.

Noch ne Frage wo bekomme ich eigentlich so Dateien wie uart.c her oder 
gibt es da nur die wo im example Ordner von Winavr sind???

von Daniel S. (enton)


Lesenswert?

Die Funktionen uart.c usw. bekommst du am besten hier im Forum oder auf 
roboternetz.de.
Einfach mal googeln, da findest du dann schon genügend.
Wenn du die Funktionen wie uart.c nicht hast, kannst du sie natürlich 
auch nicht im makefile angeben. Sonst sucht der Compiler das 
File(uart.c) und findet es nicht. Dann beschwert er sich natürlich.
Für den anfang ist es mal am leichtesten, wenn du alles in ein File 
schreibst und das dann main.c nennst. Dann musst du im Makefile bei den 
C-Sources gar nichts eingeben. Die main.c wird automatisch eigebunden.

von No N. (assi)


Lesenswert?

Gut das Funktioniert jetzt alles vielen Dank an Euch.


mfg

assi

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.