Bonjour,

J'ai un soucis avec ma cross-compilation.
J'ai programmé un driver pour une application temps réel.
J'ai plusieurs fichiers .c et .h, j'ai créé un Makefile pour compiler ces fichiers sources. Le voici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#************************************************************************************************
#				MAKEFILE
#************************************************************************************************
LD = ppc_85xx-ld
CC = ppc_85xx-gcc
 
DEFBLOCKING = 20
CFLAGS = $(includedir) \
	-DDEFBLOCKING=$(DEFBLOCKING) \
	-nostdinc -isystem /opt/eldk/eldk_powerpc/usr/lib/gcc/powerpc-linux/4.0.0/include \
	-D__KERNEL__ -Iinclude -include /local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/include/linux/autoconf.h \
	-Iarch/ppc \
	-msoft-float -pipe -ffixed-r2 -mmultiple -mno-altivec -Wa,-me500 \
	-fomit-frame-pointer -g \
	-D__IN_RTNET__ \
	-I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/include/xenomai \
	-I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/rtnet-0.9.8/stack/include \
	-I/home/to87771/gianfar \
	-DMODULE \
	-D"KBUILD_STR(s)=\#s" \
	-D"KBUILD_BASENAME=KBUILD_STR(gianfar)" \
	-D"KBUILD_MODNAME=KBUILD_STR(rt_gianfar)" 
 
SRC := gianfar.c \
	gianfar_ethtool.c \
	gianfar_mii.c \
	gianfar_sysfs.c \
	rt_gianfar.mod.c 
 
OBJ := gianfar.o \
	gianfar_ethtool.o \
	gianfar_mii.o \
	gianfar_sysfs.o \
	rt_gianfar.mod.o \
	rt_gianfar.o
 
includedir = -I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/arch/ppc/include \
-I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/include \
-I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/include/asm \
-I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/include/asm-powerpc \
-I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/rtnet-0.9.8/stack/include \
-I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/arch/ppc/ \
-I/local/home1/ju_directory/PROJECT_8560ADS/TEST_INSTALL/linux-2.6.18/include/xenomai
 
 
FLAGS = -MM $^ -Wall -Wstrict-prototypes 
 
gianfar_driver : $(OBJ)
 
gianfar.o : gianfar.c gianfar.h $(deps_/home/to87771/gianfar/gianfar.o)
	$(CC) $(SYSTEM) $(FLAGS) $(CFLAGS) -o /home/to87771/gianfar/gianfar.o gianfar.c
 
gianfar_ethtool.o : gianfar_ethtool.c $(deps_/home/to87771/gianfar/gianfar_ethtool.o)
	$(CC) $(SYSTEM) $(FLAGS) $(CFLAGS) -o /home/to87771/gianfar/gianfar_ethtool.o gianfar_ethtool.c
 
gianfar_mii.o : gianfar_mii.c gianfar_mii.h $(deps_/home/to87771/gianfar/gianfar_mii.o)
	$(CC) $(SYSTEM) $(FLAGS) $(CFLAGS) -o /home/to87771/gianfar/gianfar_mii.o gianfar_mii.c
 
gianfar_sysfs.o : gianfar_sysfs.c  $(deps_/home/to87771/gianfar/gianfar_sysfs.o)
	$(CC) $(SYSTEM) $(FLAGS) $(CFLAGS) -o /home/to87771/gianfar/gianfar_sysfs.o gianfar_sysfs.c
 
rt_gianfar.mod.o : rt_gianfar.mod.c $(deps_/home/to87771/gianfar/rt_gianfar.mod.o)
	$(CC) $(SYSTEM) $(FLAGS) $(CFLAGS) -o /home/to87771/gianfar/rt_gianfar.mod.o rt_gianfar.mod.c
 
rt_gianfar.o : 
	$(LD) -r -o /home/to87771/gianfar/rt_gianfar.o \
	/home/to87771/gianfar/gianfar.o \
	/home/to87771/gianfar/gianfar_ethtool.o \
	/home/to87771/gianfar/gianfar_mii.o \
	/home/to87771/gianfar/gianfar_sysfs.o \
	/home/to87771/gianfar/rt_gianfar.mod.o

Le problème est le suivant : Je réalise une compilation gcc qui fonctionne et fournit les fichiers .o mais quand il s'agit de créer rt_gianfar.o j'ai l'erreur suivante :
ppc_85xx-gcc : gianfar.o: file format not recognized; treating as linker script
ppc_85xx-ld : gianfar.o.1: parse error
Quelqu'un peut il m'aider??