Salut à tous,
dans le cas d'une migration d'un noyau 2.4 vers un 2.6, pour une architecture mipsel, je dois insérer des drivers existants uniquement sous 2.4. Donc je me retape tous les makefiles de ces drivers et j'ai un problème avec un d'entre-eux.
Voilà en fait le makefile classique d'un driver en 2.6 (supposons qu'il s'appelle toto) :
En gros, il me compile mon toto1.c et mon toto2.c en toto1.o et toto2.o puis il link les 2 en un fichier toto.o (et puis après il crée son toto.ko mais c'est pas ce qui m'intéresse)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 TOTO_OBJS := toto1.o toto2.o obj-$(CONFIG_TOTO) += toto.o toto-objs := $(TOTO_OBJS)
Maintenant mon problème c'est que j'ai pas toto1.c et toto2.c. J'ai uniquement toto1.o et toto2.o, le code source du driver n'étant pas fourni. Donc j'ai essayé (depuis 3 jours) des solutions mais rien n'y fait. A chaque foit j'ai un :
J'ai bien essayé de lui mettre une règle pour toto.o de ce style :make[4]: *** No rule to make target `drivers/net/toto/toto.c' , needed by `drivers/net/toto/toto.o'. Stop.
Mais il ne veut rien entendre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 TOTO_OBJS := toto1.o toto2.o toto.o : toto1.o toto2.o $(LD) -r -o toto.o $(TOTO_OBJS) obj-$(CONFIG_TOTO) += toto.o
Est-ce que quelqu'un aurait une solution à me proposer parce que là je sèche de chez sécher![]()
Merci d'avance![]()
![]()
Partager