www.mikrocontroller.net

Forum: Compiler & IDEs Makefile Compiler


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
wie kann ich den zu verwendenden Compiler im Makefile einstellen?
Es geht um Crosscompiling ich möchte folgenden Compiler verwenden 
anstelle des "normalen" GCC.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry ich habe das Verzeichnis des Compilers den ich verwenden möchte 
nicht genannt.
/codesourcery/bin/arm-none-linux-gnu2eabi-

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> wie kann ich den zu verwendenden Compiler im Makefile einstellen?

Das hängt vom Makefile ab. Normalerweise wird es durch die Variable $CC 
eingestellt.
Ach so. "folgenden" kenne ich allerdings nicht. ;-)

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rolf Magnus schrieb:
> "folgenden" kenne ich allerdings nicht. ;-)

Ups... ich hatte dein Folgeposting zwar schon gesehen, aber die obige 
schon geschriebene Zeile versehentlich nicht gelöscht... also ignoriere 
sie einfach.

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

Bewertung
0 lesenswert
nicht lesenswert
Rolf Magnus schrieb:
> Das hängt vom Makefile ab. Normalerweise wird es durch die Variable $CC
> eingestellt.

Es geht um das Makefile der Coreutils (siehe Anhang). Muss ich also die 
Variable CC in Zeile 338 von  CC = gcc -std=gnu99  in CC = 
/codesourcery/bin/arm-none-linux-gnu2eabi- ändern?

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Makefile ist doch von einem configure-Skript generiert. Da sollte 
man eigentlich nicht manuell dran rumeditieren. Warum gibst du nicht 
gleich beim configure die Zielplattform an? Ich würde auch davon 
ausgehen, daß es bei weitem nicht reicht, den Compiler zu ersetzen.

Übrigens: Bist du sicher, daß dein Compiler "arm-none-linux-gnu2eabi-" 
heißt, ohne ein nachfolgendes "gcc"?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rolf Magnus schrieb:
> Das Makefile ist doch von einem configure-Skript generiert.

Ja stimmt.

Übrigens: Bist du sicher, daß dein Compiler "arm-none-linux-gnu2eabi-"
heißt, ohne ein nachfolgendes "gcc"?

Das ist der Pfad zu toolchain.

Weiß vllt. jemand wie man die coreutils crosscompiled?

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du must beim ./configure zusätzlich --host=arm-none-linux-gnu2eabi 
angeben. Das bin-Untervezeichnis von dem Verzeichnis, wo die Toolchain 
zu finden ist, muß im PATH eingetragen sein.

Autor: Imon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rolf Magnus schrieb:
> Du must beim ./configure zusätzlich --host=arm-none-linux-gnu2eabi
> angeben. Das bin-Untervezeichnis von dem Verzeichnis, wo die Toolchain
> zu finden ist, muß im PATH eingetragen sein.

Ich bin mir nicht sicher ob der Originalposter wirklich ein configure 
hat, oder vielleicht einfach meint wie der das make file zu gestalten 
hat damit er cross kompilieren kann.
Wenn es darum geht ein makefile zu schreiben das auch cross Compileiren 
kann hat sich folgende Zeile bewerte.
CC = $(CROSS_COMPILE)gcc

%.o: %.c
    $(CC) -c $< -o $@

wenn du nun einfach nur make eingibst wird der host gcc genuzt.
um Cross zu Kompilieren wir das so gerufen

CROSS_COMPILE=/codesourcery/bin/arm-none-linux-gnu2eabi- make

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Imon schrieb:
> Ich bin mir nicht sicher ob der Originalposter wirklich ein configure
> hat, oder vielleicht einfach meint wie der das make file zu gestalten
> hat damit er cross kompilieren kann.

So wie ich es verstanden habe, will er die coreutils bauen, und die sind 
ein autoconf/automake-Projekt. Das kann man auch schon sehen, wenn man 
sich das von Peter angehängte Makefile anschaut.

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.