Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1726 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [autotools] Makefile.am et recursivite

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[autotools] Makefile.am et recursivite

n°1175007
ztg
Posté le 27-10-2009 à 03:40:26  profilanswer
 

alors j'ai des repertoires sources avec
 
src/Makefile.am
src/utils/Makefile.am
 
en gros mon src/Makefile.am a cette tete:
 

Code :
  1. SUBDIRS=utils
  2. bin_PROGRAMS=myprog
  3. myprog_SOURCES=myprog.c


 
et mon src/utils/Makefile.am:
 

Code :
  1. bin_PROGRAMS=myprog
  2. myprog_SOURCES=utils.c


 
ca passe pas au linking pour la bonne raison que mon src/Makefile n'inclue pas utils.o dans ses objects
 
alors je pourrais me contenter d'un src/Makefile avec un lien vers tous les *.c (chemin relatif), ce qui nie l'utilite de mon SUBDIRS avec son autre Makefile.am
 
mais j'aurais aime savoir c'est quoi la pratique? quelle est le moyen le plus propre et le plus standard de faire?

mood
Publicité
Posté le 27-10-2009 à 03:40:26  profilanswer
 

n°1175142
ztg
Posté le 27-10-2009 à 16:41:25  profilanswer
 

up :)
 
ne me dites pas que personne ici n'utilise autotools ;)

n°1175200
Mjules
Modérateur
Parle dans le vide
Posté le 27-10-2009 à 20:54:27  profilanswer
 

j'y connais rien en autotools à part que ça a pas une super réputation.

 

Mais il semble que la récursivité est pas le truc le plus apprécié (notamment parce que ça ne permet pas de paralléliser au mieux la compilation) :
http://www.murrayc.com/blog/permal [...] -automake/
http://www.flameeyes.eu/autotools-mythbuster/
dont http://www.flameeyes.eu/autotools- [...] rsive.html


Message édité par Mjules le 27-10-2009 à 20:54:49

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°1175205
ztg
Posté le 27-10-2009 à 21:21:07  profilanswer
 

Merci a toi Mjules ces liens me sont d'une grande aide.
 
Autotools n'a pas bonne reputation? Peut etre parce que c'est plus complexe que les solution toutes faites comme le "managed make" dans Eclipse ou autres. Ca reste une solution tres puissante si on sait s'en servir correctement, d'apres ce que je comprends.
 
:jap:

n°1175207
Mjules
Modérateur
Parle dans le vide
Posté le 27-10-2009 à 21:23:55  profilanswer
 

ztg a écrit :

Merci a toi Mjules ces liens me sont d'une grande aide.
 
Autotools n'a pas bonne reputation? Peut etre parce que c'est plus complexe que les solution toutes faites comme le "managed make" dans Eclipse ou autres. Ca reste une solution tres puissante si on sait s'en servir correctement, d'apres ce que je comprends.
 
:jap:


 
pas une bonne réputation parce que complexe (et très puissants), et qu'a priori, d'autres système de build ou simplement de conf sont plus facile et tout aussi efficace (cmake, jam, scons par exemple)


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°1175247
eL_Shaman_​__
Plop.
Posté le 28-10-2009 à 00:40:26  profilanswer
 

Personnellement, je plussoie très largement CMake par rapport aux autotools :

  • pas de macros M4 à la syntaxe délirante ;
  • des fichiers scripts plus courts et lisibles (à mon goût) ;
  • une génération de fichiers natifs pour différents outils de compilations ou d'édition de code qui est très facile (en général, un bête paramètre sur la ligne de commande de CMake ou dans cmake-gui). Sur une Fedora 11 avec CMake 2.6-patch 4, j'ai les sorties possibles suivantes :


The following generators are available on this platform:
  Unix Makefiles              = Generates standard UNIX makefiles.
  CodeBlocks - Unix Makefiles = Generates CodeBlocks project files.
  Eclipse CDT4 - Unix Makefiles
                              = Generates Eclipse CDT 4.0 project files.
  KDevelop3                   = Generates KDevelop 3 project files.
  KDevelop3 - Unix Makefiles  = Generates KDevelop 3 project files.
 
 
Sur Windows, j'aurai Visual Studio (en plusieurs versions).

n°1175256
ztg
Posté le 28-10-2009 à 01:33:26  profilanswer
 

il existe un plugin autotools pour eclipse, l'integration est tres bien faite
 
concernant les fichiers m4, j'en ai vu un, mais je ne l'ai pas ouvert et je n'ai aucune idee de ce qu'il contient
je suppose qu'il doit y avoir de l'optimisation mais pour l'instant je n'en suis pas la
 
je regarderai du cote de CMake plus tard :jap:

n°1175583
ztg
Posté le 29-10-2009 à 02:10:28  profilanswer
 

autre question liee a ce qu'il y a au dessus
 
je me suis inspire de ca:
http://www.openismus.com/documents [...] ries.shtml
 
pour faire mon configure.ac
 
le souci c'est que j'ai des libs qui correspondent aux deux cas suivants:
 
Libraries which have installed a .pc pkg-config file
Libraries which have installed a *-config script
 
et je ne sais pas comment faire en sorte pour les utiliser toutes les deux a la fois...
 
 
mon configure.ac:
 


PKG_CHECK_MODULES(DEPS, x11 >= 1.0.0 xext >= 1.0.0)
MALIB_LIBS=`malib-config --libs`
AC_SUBST(DEPS_CFLAGS)
AC_SUBST(DEPS_LIBS)
AC_SUBST(MALIB_LIBS)


 
et j'ai donc un Makefile.am en consequence:
 


INCLUDES = $(DEPS_CFLAGS)
LIBS = $(DEPS_LIBS) $(MALIB_LIBS)


 
et MALIB n'est pas prise en compte


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [autotools] Makefile.am et recursivite

 

Sujets relatifs
Impossible de faire un makefile [resolu]Gutsy: bug "echo -e" dans une boucle for d'un Makefile
Ensemble de commande dans un makefileCréation d'un configure.in et Makefile.am ...
problème avec un makefile[Résolu][AUTOTOOLS]J'ai du mal...
parcours des fichiers dans un MakefileCréation d'un Makefile (partie installation)
Makefilecommande rm, problème de récursivité pour des types de fichiers
Plus de sujets relatifs à : [autotools] Makefile.am et recursivite


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR