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.
sorry ich habe das Verzeichnis des Compilers den ich verwenden möchte nicht genannt. /codesourcery/bin/arm-none-linux-gnu2eabi-
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. ;-)
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.
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?
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"?
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?
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.
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.
1 | CC = $(CROSS_COMPILE)gcc |
2 | |
3 | %.o: %.c |
4 | $(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
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.