Forum Programmation.c compilation multi architecture : Organisation d'arborescence pour éviter la duplication de codes sources

Posté par  .
Étiquettes : aucune
0
21
mar.
2007
bonjour,

je travaille actuellement en développement croisé avec une cible de type arm.

J'ai besoin pour cela de modifier le code source de projets existants et il m'est nécessaire de recompiler ces sources pour 2 architectures (i386 et arm).

j'ai donc mis en place une arborescence de ce type sur mon projet :


build
=i386
=debug
=src
et

build
=arm
=debug
=src


mon problème est que j'ai donc dans les 2 répertoires src une duplication des sources. Mon projet comportant beaucoup de librairies, cela représente un espace disque non négligeable.

je voudrais donc regrouper ces sources dans un autre répertoire et ne garder dans build/arm/debug/src et build/i386/debug/src seulement les objets issus des compilation du code source pour l'architecture souhaitée.

une des librairies je j'utilise est la librairie ffmpeg. J'ai donc essayé de réaliser ce travail sur cette librairie en modifiant le makefile seulement je n'ai pas réussi a obtenir ce que je veut du fait qu'elle utilise aussi des librairies externes qu'elle compile à coté, ce qui m'obligerais à modifier un trop grand nombre de makefiles dans mon projet.

Je suis donc à la recherche d'une aide de votre part pour la réalisation de cette arborescence ou de suggestions.

merci de votre aide.
  • # Quelques pistes à creuser

    Posté par  . Évalué à 1.

    Bonjour,

    Avant d'être trahit par la suite, je ne suis qu'un petit "scripteur du dimanche" donc pardon d'avance :-)

    Pourquoi ne pas s'inspirer de l'organisation des sources du noyau qui ont plusieures architectures matérielles disponibles et une majorité (et là je peux me tromper) de code "générique" ?

    Ou alors, délimiter les sections dépendantes de l'architecture dans des blocs #if defined/#endif ?
    [cette partie m'a l'air moins courante pour les architectures matérielles]

    Bon courage !

    Cdlt,

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.