[GNU] question sur l'utilisation des autotools

question sur l'utilisation des autotools [GNU] - Divers - Programmation

Marsh Posté le 26-11-2004 à 15:52:30    

bonjour,
je suis en train de "autoconfiscater" mon projet (i.e lui appliquer à posteriori autoconf & automake), afin d'avoir une version de distribution propre.  
 
Je souhaiterais donc que mon projet s'installe en 3 commandes (ou pas beaucoup plus) :  


./configure
make
make install


 
Il se trouve que j'ai un de mes modules qui est utilitaire, et les autres modules ont besoin de ses fichiers d'en-tête ".h". Le problème est que ce n'est que lors de la commande "make install" que les fichiers d'en-tête sont copiés dans le dossier "include" et les librairies dans "lib". Comment faire dans ce cas ? Je pense qu'il faut éviter les

Code :
  1. #include "..."

avec des chemins en dur, nan ?
 
 :??:

Reply

Marsh Posté le 26-11-2004 à 15:52:30   

Reply

Marsh Posté le 26-11-2004 à 16:05:30    

Il semblerait que les chemins en dur soient la solution, mais pas comme je le disais dans les #include direct, mais dans les flags -I; dans "Learning the GNU development tools", chapitre "Using automake ans Autoconf", un exemple de construction de tests est donné et il est précisé :
"Because the libraries have not been installed yet we specify them with their full path. This will allow Automake to track dependencies correctly; if `libblas1.a' is modified, it will cause the test suite to be rebuilt. Also the variable `INCLUDES' is globally assigned to make the header files of the other two libraries accessible to the source code in this directory. "
 
Ceci est peut-être apllicable à mon projet ? :o


Message édité par jotb le 26-11-2004 à 16:16:10
Reply

Marsh Posté le 26-11-2004 à 16:11:37    

noinst_HEADERS   = machin.h

Reply

Marsh Posté le 26-11-2004 à 16:20:57    

Taz a écrit :

noinst_HEADERS   = machin.h


 
Je ne te suis pas là. :o

Reply

Marsh Posté le 26-11-2004 à 16:35:11    

ben dans ton Makefile.am tu mets des trucs comme ça

Reply

Marsh Posté le 26-11-2004 à 16:40:03    

j'ai une arborescence comme ça :


/src
        - /module1
        - /module2
        ...
        - /module_utilitaire


 
Dans les makefile.am des module1, module2, etc. il faudrait que je mette à chaque fois noinst_HEADERS= les fichiers .h de module utilitaire, c'est bien ça ? Ça me semble étrange, il me semblait que noinst_HEADER servait pour empêcher l'installation de fichiers d'en-tête "privés" ? :??:

Reply

Marsh Posté le 26-11-2004 à 16:41:59    

et c'est pas ce que tu veux ? c'est quoi ton problème ?

Reply

Marsh Posté le 26-11-2004 à 16:45:33    

Taz a écrit :

et c'est pas ce que tu veux ? c'est quoi ton problème ?


 
Ben y a pas moyen de faire plus direct avec un flag d'include ? Parce que imaginons que j'ajoute une classe à mon module utilitaire, je vais devoir éditer tous les Makefiles des autres modules pour pouvoir l'utiliser...

Reply

Marsh Posté le 26-11-2004 à 16:47:04    

je comprends rien ...

Reply

Marsh Posté le 26-11-2004 à 16:50:06    

J'arrive pas à être plus clair dans mon explication, donc... arrêtons pour le moment ce dialogue de sourds :D  
Si quelqu'un d'autre arrive à me comprendre, tant mieux, sinon tant pis.
 
Merci tout de même d'avoir tenté de m'aider :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed