kompilieren eines c-programms ohne make für avr32

Gast #1544627
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
Gast #1546097
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
Gast #1562455
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren