+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité de passage
    Inscrit en
    décembre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : décembre 2005
    Messages : 14
    Points : 4
    Points
    4

    Par défaut automake et sources auto-générés

    Bonjour à tous.

    Je cherche à trouver la manière de gérer le cas suivant avec automake :

    Le programme "prog" a besoin des sources foo.c et bar.c pour se construire:

    Code :
    1
    2
    bin_PROGRAMS = prog
    prog_SOURCES = foo.c bar.c
    Mais ces sources ne sont pas disponibles au lancement du make - pour les obtenir, il faut exécuter la commande suivante, qui va générer ces deux fichiers:

    Code :
    build_sources sourcelist.txt
    Si je rajoute une instruction du genre
    Code :
    1
    2
    foo.c : sourcelist.txt
      build_sources sourcelist.txt
    le make échouera avec comme message "pas de règle pour construire bar.c".

    Comment est-il possible de gérer cette situation, autrement qu'en déclenchant le make une seconde fois? Évidemment, le cas présenté est une version simplifiée de mon vrai problème...

    Merci à vous,
    Daniel

  2. #2
    Invité de passage
    Inscrit en
    décembre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : décembre 2005
    Messages : 14
    Points : 4
    Points
    4

    Par défaut

    Bon, j'ai trouvé la réponse...

    Mon Makefile.am est désormais le suivant:

    bin_PROGRAMS = prog
    prog_SOURCES = foo.c bar.c

    BUILT_SOURCES = foo.c
    CLEANFILES = $(prog_SOURCES)

    foo.c : sourcelist.txt
    build_sources sourcelist.txt

    Apparemment, les éléments dans <BUILT_SOURCES> sont générés avant que make ne regarde ce qu'il y a ailleurs.

    En tout cas, ainsi ça fonctionne!

    Daniel

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •