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

OP #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:
OP #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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.