Forum Programmation.autre La magie noire automake: spécial gourou

Posté par  (site web personnel) .
Étiquettes : aucune
0
24
août
2006

Le problème en quelques mots:


  • je remet au propre un tarball "gorettisé" par le mainteneur d'origine...

  • donc je modifie/teste les fichiers Makefile.am

  • dans le package il y a une arborescence de cette forme:
     
    
    TOP
    |_ src
    | \_ toto.c
    |_ truc
    | \_ toto.c = ../src/toto.c (c' est donc un lien sur le toto.c d'un cran + haut)





Le fichier toto.c est la source d'un programme intermédiaire: dans le Makefile.am sous truc il y a:
noinst_PROGRAMS = toto



Quand je fait un make dist le fichier truc/toto.c n'est plus un lien dans le tarball généré !



Questions:

  1. N'y a-t-il pas moyen de dire dans le Makefile.am que toto.c est un lien ?

  2. Sinon: n' y a-t-il pas un moyen pour préciser à la cible dist que certains
    fichiers restent en liens ?




Pour le point 1 j'ai déjà essayé d'ajouter (tout en effacant le lien):
toto_SOURCES = $(top_srcdir)/src/toto.c
Si je fais ca j'ai une erreur au make (du genre toto.c not found)


OS-COURT ...
  • # $(top_srcdir)

    Posté par  . Évalué à 1.

    Ton idée d'utiliser toto_SOURCES = $(top_srcdir)/src/toto.c me semble la meilleure. Pourrais-tu préciser quelle erreur 'make' donne ?
    • [^] # Re: $(top_srcdir)

      Posté par  . Évalué à 2.

      Et au passage tu peux essayer toto_SOURCES = $(srcdir)/../src/toto.c ...
  • # Corrigé

    Posté par  (site web personnel) . Évalué à 1.

    OK, j'ai un peu (!) ré-essayé plus calmement et maintenant ca marche.

    Les détails de ce qu'il y a maintenant:
    TOP
     |  \_src
     |       |_ driver.c
     |       |_ stringify.c
     |_other_src
            |_ machin. c
            |_ Makefile.am
    
    Dans Makefile.am j'ai au final (je ne met pas le détail pour créer le fichier genere_par_stringify.c) :
    driver_SOURCE = $(top_srcdir)/src/driver.c
    machin_SOURCES = $(driver_SOURCE) machin.c
    nodist_machin_SOURCES = genere_par_stringify.c
    noinst_PROGRAMS = stringify
    stringify_SOURCES = $(top_srcdir)/src/stringify.c
    

    Dans other_src j'ai effacé les liens qu'il y avait vers ../src/driver.c et ../src/stringify.c, maintenant ca marche correctement. Je pense que dans mes manips précédentes j'avais également effacé le lien vers driver.c sans changer la dépendance dans machin_SOURCES.

    Merci du coup de main

Suivre le flux des commentaires

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