mikrocontroller.net

Forum: Compiler & IDEs Bitte um Hilfe bei meinem ersten Makefile


Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich versuche mich gerade das erste mal darin ein Makefile für WinARM zu 
erstellen. Dazu habe ich mir mal ein Makefile aus einem der 
Beispielprogramme genommen und versuche dieses jetzt zu überarbeiten. 
Nur was gehört jetzt wo hin??

Da gibt es ja eine Bereich:
# List C source files here. (C dependencies are automatically generated.)
# use file-extension c for "c-only"-files
SRC = 


Dann noch:
# List C source files here which must be compiled in ARM-Mode.
# use file-extension c for "c-only"-files
SRCARM = 

weiters:
# List C++ source files here.
# use file-extension cpp for C++-files (use extension .cpp)
CPPSRC = 

und dann auhc noch:
# List C++ source files here which must be compiled in ARM-Mode.
# use file-extension cpp for C++-files (use extension .cpp)
CPPSRCARM = 

außerdem:
# List Assembler source files here.
# Make them always end in a capital .S.  Files ending in a lowercase .s
# will not be considered source files but generated files (assembler
# output from the compiler), and will be deleted upon "make clean"!
# Even though the DOS/Win* filesystem matches both .s and .S the same,
# it will preserve the spelling of the filenames, and gcc itself does
# care about how the name is spelled on its command-line.
ASRC = 

und zu letzt noch:
# List Assembler source files here which must be assembled in ARM-Mode..
ASRCARM = 

Nur was heißt das jetzt für mich? Was muss im ARM-Mode assembliert bzw. 
compiliert werden, was nicht?
Welche Files müssen überhaupt hier eingetragen werden??
Und wie verhält scih das ganze dann, wenn die Files in 
unterverzeichnissen liegen?

Ich weiß. Viele FRagen und viel Text, aber da ich mit den ganzeh im 
Internet befindlichen Hilfen nicht wirklich weiter komme (ich versuche 
das ganze jetzt schon seit fas 2 Wochen, und bin entsprechend 
frustriert), hoffe ich, dass mir hier jemand weiter helfen kann.

Danke euch!

Autor: Mark .. (mork)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Du,

>Was muss im ARM-Mode assembliert bzw. compiliert werden, was nicht?

im ARM-Mode muss der Code compilliert/assembliert werden, der später im 
ARM-Mode laufen soll (z.b. der Startup-Code). Wenn Du aber Thumb-Code 
haben möchtest, musst Du die entsprechenden Sources unter SRC/CPPSRC und 
'THUMB = -mthumb' im makefile eintragen.

>Welche Files müssen überhaupt hier eingetragen werden??
Alle Quelltexte (.c oder .cpp oder .S) müssen irgendwo eingertagen 
werden.

>Und wie verhält scih das ganze dann, wenn die Files in unterverzeichnissen 
>liegen?
Dann musst Du den Pfad ausgehend von dem Ordner, wo sich das makefile 
befindet eintragen.

Ich hoffe ich konnte Dir helfen.

MfG Mark

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ja, hat mir geholfen! Danke!

Aber: Ich habe jetzt mal alle *.c und *.s in mein Makefile eingetragen.
wenn ich jetzt make clean und dann make all eingebe, verschwindet 
allerdinges meine startup.s Datei aus dem Projektverzeichnis.

Gibt es da noch etwas zu beachten, das ich überlesen habe??

*.s und *.S macht keinen Unterschied.

danke eucht!

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin echt am verzweifeln!

Kann mir denn niemand helfen??

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tritt das Verhalten bei make all/make clean bei den mitgelieferten 
Beispielen auch auf? Welche make Version (make --version)?

Autor: kosmonaut pirx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
schicke bitte einmal dein komplettes Makefile. Der Aussschnitt von oben 
ist zu wenig.
bye kosmo

Autor: ich (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Makefile im Anhang!

make-Version ist 3.81

passiert nur bei make clean.

bei make all bekomme ich folgende Fehermeldung:

make -k all
makefile:443: target `startup.s' doesn't match the target pattern

Die beispiele, welche ich probiert habe funktionieren alle (mit den 
mitgelieferten make-files)

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
-ASRCARM = startup.s
+ASRCARM = startup.S

Sicherstellen, dass die Datei startup.S tatsächlich ein großes S als 
File-Extension hat.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.