Forum: Compiler & IDEs kompilieren eines c-programms ohne make für avr32


von qwertz (Gast)


Lesenswert?

Hallo,

ich würde gerne ein einzelnes C-Programm für avr32 übersetzen.

Leider finde ich in den man-pages von gcc nicht die Option, um für diese 
Platform zu kompilieren.

Auf dem PC rufe ich den gcc so auf:
gcc -o flc-avr32-server-v0.1.0-full flc-avr32-server-v0.1.0-full.c


Kann ich ein Programm ohne makefile so für avr32 cross-kompilieren oder 
muss ich den Quellcode irgendwo in die Toolchain-Kompilierung einmogeln?

Danke im voraus

von Oliver (Gast)


Lesenswert?


von Rolf Magnus (Gast)


Lesenswert?

> Leider finde ich in den man-pages von gcc nicht die Option, um für diese
> Platform zu kompilieren.

gcc -b avr32

Allerdings versucht das auch nur, intern avr32-gcc der selben Version 
aufzufurfen. Den mußt du also auch installiert haben, und dann kannst du 
den auch direkt verwenden.

> Kann ich ein Programm ohne makefile so für avr32 cross-kompilieren oder
> muss ich den Quellcode irgendwo in die Toolchain-Kompilierung einmogeln?

Das geht auch ohne Makefile. Aber ein solches wäre für die Anforderung 
nur drei Zeilen lang.
1
CC = avr32-gcc
2
.PHONY: all
3
all: flc-avr32-server-v0.1.0-full

von qwertz (Gast)


Lesenswert?

Hallo,

Jetzt habe ich über eine Woche diesen Thread anzeigen lassen, zusammen 
mit dem Rechner gestartet, und erst jetzt sehe ich, dass noch Antworten 
kamen :/.

Ich habe mal in der Toolchain des avr32 gewühlt, wie das Makefile bei 
anderen Programmen so aussieht und mittels Versuch dieses minimale 
Makefile für mich erstellt.
1
CC = /home/username/ICnova/build_avr32/staging_dir/usr/bin/avr32-linux-uclibc-gcc -Os -pipe -Os  -I/home/schnath/ICnova/build_avr32/staging_dir/usr/include -I/home/username/ICnova/build_avr32/staging_dir/include --sysroot=/home/username/ICnova/build_avr32/staging_dir/ -isysroot /home/username/ICnova/build_avr32/staging_dir -msoft-float -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
2
CCDEPMODE = depmode=none
3
CFLAGS = -Os -pipe -Os  -I/home/username/ICnova/build_avr32/staging_dir/usr/include -I/home/username/ICnova/build_avr32/staging_dir/include --sysroot=/home/username/ICnova/build_avr32/staging_dir/ -isysroot /home/username/ICnova/build_avr32/staging_dir -msoft-float -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall
4
5
target = avr32-unknown-linux-gnu
6
target_alias = avr32-linux
7
target_cpu = avr32
8
target_os = linux-gnu
9
target_vendor = unknown
10
11
flc-master: flc-master.o
12
flc-master.o: flc-master.c
13
#-rm flc-master.o
14
15
flc-ramp: flc-ramp.o
16
flc-ramp.o: flc-ramp.c
17
#-rm flc-ramp.o
18
19
flc-para: flc-para.o
20
flc-para.o: flc-para.c
21
#-rm flc-para.o
22
23
flc-power: flc-power.o
24
flc-power.o: flc-power.c
25
#-rm flc-para.o

Derzeit muss ich immer make 'programmname' angeben, es sei denn ich will 
das erste übersetzen.
Wie das mit dem anschliessenden Löschen der Objektdateien geht habe ich 
noch nicht raus, und das 'make all' muss ich auch noch erkunden.

Vielleicht hilft das ja einem anderen Benutzer - hier vom ICnova(base).

PS: Versionsnummern habe ich aus den Dateinamen rausgelassen, das wurde 
zuviel Nacharbeit bei den ganzen Dateien.

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
Noch kein Account? Hier anmelden.