Moin, ich nutze den Atmel SAM3U (ARM Cortex M3) mit der gcc arm-none-eabi Toolchain. Funktioniert alles prima, nur würde ich gerne assembler listings erstellen, diese hübschen *.lst-Files. Mit diesen zusätzlichen Compiler Flags bekomme ich schon mal ein .lst File, dummerweise aber nur eins, da der Compiler die Namen der .c oder .o Files nicht übernimmt: CFLAGS += -Wa,-adhlns=$(subst $(suffix $<),$(ASMLST)/.lst,$<) ".lst" ist am Ende der Kompilierung also das List File für den letzten Eintrag, im angehängten Makefile also C_OBJECTS += systick.o . Kann mir bitte jemand helfen, wie ich dem Makefile beibringe, mir zu jedem .c ein .lst zu machen? Danke, X
Keiner? :(
Gast
#2648854
Hast du das mal versucht? Beitrag "ARM-Entwicklung mit Eclipse & CodeSourcery: asm-listings löschen" Gib mir dann Bescheid wenn du rausgefunden hast wie man die automatisch wieder löscht.
Auch mit der Zeile: CFLAGS += -Wa,-adhlns="$@.lst" wird ein namenloses .lst File erstellt, was immer wieder überschrieben wird. ???
Gast
#2649932
Ist das oben gezeigte wirklich das Makefile, bei dem's nicht tut? Ist es in einem Unterverzeichnis eines rekursiven make-Aufrufs? Ich vermute, daß CFLAGS schon vorher irgendwo definiert wurde, und zwar mit :=. Dann wird nämlich alles zum Zeitpunkt der Variablendefinition expandiert (bzw. dort, wo du das += machst) und nicht erst dort, wo sie eingesetzt wird.
Rolf Magnus schrieb: > Ist das oben gezeigte wirklich das Makefile, bei dem's nicht tut? Ist es > in einem Unterverzeichnis eines rekursiven make-Aufrufs? > Ich vermute, daß CFLAGS schon vorher irgendwo definiert wurde, und zwar > mit :=. Dann wird nämlich alles zum Zeitpunkt der Variablendefinition > expandiert (bzw. dort, wo du das += machst) und nicht erst dort, wo sie > eingesetzt wird. Das Makefile befindet sich in im Projektverzeichnis, und "make all" wird als Programmer's Notepad Tool aufgerufen. Keine Ahnung, wo CFLAGS schon definiert worden sein sollte. Die Suche zeigt, dass nur im Makefile CFLAGS existiert. Hab's probiert, kompiliert auch mit "CFLAGS =" in erster Zeile. Was muss ich tun, damit die .lst Files auch die Namen der .c-Files übernehmen. Habe schon ganz viel rumprobiert.
Gast
#2650051
Wie sieht es mit den hier eingebundenen Files aus:
1 | |
2 | |
3 | |
4 | |
5 | |
Wird da was an den CFLAGS gemacht?
Rolf Magnus schrieb: > Wie sieht es mit den hier eingebundenen Files aus: > >
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
> > Wird da was an den CFLAGS gemacht? Nein. Da wird unter anderem "MEMORIES" spezifiziert, für die make all Schleife unten im Makefile. Auf jeden Fall schon mal vielen Dank für die Hilfe! chip.mak:
1 | |
2 | |
3 | |
4 | |
5 | |
board.mak:
1 | |
2 | |
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.