Wenn Du das clean weglässt, sollte es gehen....
Mit make kompilierst Du das Programm, mit clean löschst Du die kompilierten Dateien wieder....
Im makefile musst Du natürlich auch angeben, welche Datei kompiliert werden soll.
Gruß,
askazo
Hey
also folgendes : Zu Beginn der Anleitung steht ja dass man die .bat-Files mit WINAVR einbinden muss, sodass unter "Tools" die beiden Einträge "make" und "clean" erscheinen. Das hat auch geklappt und alles wunderbar.
Bis hierhin habe ich auch immer die vorliegende C-Datei "test.c" programmiert, ge"make"t und ge"clean"t. Meine Frage jetzt. Wenn ich bei WINAVR nun ein eigenes Programm schreiben will, nenn es sagen wir mal "programm1.c" und speichere es auf dem Desktop, kicke auf make und auf clean. Dann ist dort trotzdem keine "programm1.hex" erstellt worden. Anscheinend ist das makefile oder was weiß ich mit der test.c - Datei verknüpft?!!? Ich versteh das nicht...
Danke für eure Hilfe!
Wenn Du das clean weglässt, sollte es gehen....
Mit make kompilierst Du das Programm, mit clean löschst Du die kompilierten Dateien wieder....
Im makefile musst Du natürlich auch angeben, welche Datei kompiliert werden soll.
Gruß,
askazo
Und wie und wo kann ich das im makefile angeben?
Wird dann die hex-datei um Desktop gespeichert oder wo?
Puh, lange nicht mehr mit makefiles gearbeitet (wenn man AVR Studio verwendest, kannst man das alles über die Projekteigenschaften einstellen...)
Im makefile müsste es den Eintrag SRC geben. Dort gibst Du den Namen der C-Datei an. Die Objekt-Dateien und das hex-File sollten eigentlich im selben Verzeichnis wie die C-Datei landen.
Habst du den makefile schon geöffnet?Zitat von .orusA-
Das ist die name der den hex-datei bekommen wird.Code:# Target file name (without extension). TARGET = test
Das ist den teil das den compiler erzählt welches c-dateien er brauchen soll. Du siehst er macht eine ergänzung mit die 'variabele' TARGET. Also er sucht nach den c-datei der den gleichen nahme hat als was er den hex datei nennen soll. Bei das letzte teil wird an das make program mitgeteilt es soll den asuro code bibliothek (asuro.c) mit compilieren.Code:# List C source files here. (C dependencies are automatically generated.) SRC = $(TARGET).c # If there is more than one source file, append them above, or adjust and # uncomment the following: SRC += asuro.c
Ich hab im makefile jetzt folgendes verändert
Dann mein Programm gestartet, bei "make" kam dann die FehlermeldungCode:# Target file name (without extension). TARGET = programm1
Code:make: *** No rule to make target `programm1.o', needed by `programm1.elf'. Stop. > Process Exit Code: 2
Gibt es ein programm1.c in den gleichen mappe?
In welcher Mappe?
Valen meint, ob das makefile im selben Ordner liegt, wie die Datei programm1.c ...
Nein, das makefile war nicht im selben Ordner wie das C-File "programm1.c"
Aber jetzt funktioniert es immer noch nicht, es gibt immer den gleichen Fehler den ich oben schon gepostet habe.
Lesezeichen