Problem mit Make-File (aus Yagarto-Bsp.)

#3081341
Lesenswert?

Hallo an alle!

Ich versuche gerade ein bisschen mit Make-Files zu experimentieren - was 
das betrifft, bin ich leider noch Anfänger.
Als Vorlage habe ich ein Make-File, welches ursprünglich von einem 
Beispiel auf der Yagarto-Page stammt.

Nun, soweit ist alles gut, ich kann meine gewünschten C-Sources 
kompilieren und alles läuft prima.
Nur wenn ich versuche eine Assembler-Datei (vectors.s) miteinzubeziehen, 
dann kommt folgender Fehler:

make: ***[source01_arch/vectors.o] Error1

Ich habe bereits gelesen, dass das wohl bedeutet, dass es die Datei 
"vectors.o" nicht gefunden werden kann. In meinem Fall müsste das ja nun 
heißen, dass vectors.s gar nicht kompiliert wurde?
Ich suche nun schon seit ein paar Tagen den Fehler, da mir aber leider 
die nötige Erfahrung fehlt, komm ich leider nicht weiter...deswegen 
versuch ich es hier :-)

Ich habe das Make-File mal im Anhang angebracht.

Viele Grüße
Angehängte Dateien:
#3081371
Lesenswert?

Oh sorry, daran habe ich gar nicht gedacht und hab auch total vergessen 
da mal nachzusehen ^^

Output:
---
make all
arm-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m3 -g -gdwarf-2 
-Wa,-amhls=src_01_arch/vectors.lst   src_01_arch/vectors.s -o 
src_01_arch/vectors.o
cc1: error: target CPU does not support ARM mode
make: *** [src_01_arch/vectors.o] Error 1
---
Moderator Persönliche Seite #3081469
Lesenswert?

Kann es sein, dass du noch -mthumb (oder -mthumb2?) mit in den
Assembleroptionen angeben musst?

Btw., die Namenskonvention sieht für Assemblerdateien, die noch durch
den Präprozessor geschickt werden sollen, ein großes .S als Suffix
vor.  Wenn man dies so auf der Kommandozeile angibt, dann braucht
man auch das «-x assembler-with-cpp» nicht, das ist dann implizit.
Moderator Persönliche Seite #3081581
Lesenswert?

Lukas R. schrieb:
> Heißt also, es ist ein Unterschied, ob ich .s oder .S im Make-File
> verwende, richtig? Also case-sensitiv.

Ja, wobei es dem make selbst völlig egal ist.  Es ist der Compiler-
Treiber (also der «arm-none-eabi-gcc» in diesem Falle hier), der
die Argumente der Kommandozeile auswertet und danach sortiert,
welche Kette von Aktionen er ausführen muss.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren