Question

Existe-t-il un moyen de définir des indicateurs pour chaque fichier avec automake?
En particulier, si j’ai un projet c ++ et que je veux compiler avec -WAll tous les fichiers sauf un pour lequel je souhaite désactiver un avertissement particulier, que puis-je faire?

j'ai essayé quelque chose comme:

CXXFLAGS = -WAll ...
bin_PROGRAMS = test
test_SOURCES = main.cpp utility.cpp
utility_o_CXXFLAGS = $(CXXFLAGS) -Wno-unused-value

mais cela n'a pas fonctionné.

MODIFIÉ: suppression de la référence au manuel automake, ce qui était trompeur (grâce à Douglas Leeder).

Était-ce utile?

La solution

Automake ne prend en charge que les indicateurs par cible, alors que vous voulez des indicateurs par objet. Une solution consiste à créer une petite bibliothèque contenant votre objet:

CXXFLAGS = -Wall ...
bin_PROGRAMS = test
test_SOURCES = main.cpp
test_LDADD = libutility.a
noinst_LIBRARIES = libutility.a
libutility_a_SOURCES = utility.cpp
libutility_a_CXXFLAGS = $(CXXFLAGS) -Wno-unused-value

Autres conseils

Vous ne pouvez pas faire cela avec automake ... mais pouvez le faire avec make =) Ajoutez la ligne suivante à votre Makefile.am :

utility.$(OBJEXT) : CXXFLAGS += -Wno-unused-value

Voir GNU Créer une documentation: Valeurs variables spécifiques à la cible pour plus de détails.

Vous êtes confus - cette section fait référence à des options pour se fabriquer elle-même.

C’est un moyen de définir les options de ligne de commande automake:

  

-W CATÉGORIE   --warnings = catégorie       Alertes de sortie entrant dans la catégorie. la catégorie peut être l'une des suivantes:

gnu
    warnings related to the GNU Coding Standards (see Top).
obsolete
    obsolete features or constructions
override
    user redefinitions of Automake rules or variables
portability
    portability issues (e.g., use of make features that are known to be not portable)
syntax
    weird syntax, unused variables, typos
unsupported
    unsupported or incomplete features
all
    all the warnings
none
    turn off all the warnings
error
    treat warnings as errors 
     

Une catégorie peut être désactivée en préfixant son nom avec & # 8216; no - & # 8217 ;.   Par exemple, -Wno-syntax masquera le   avertissements concernant les variables inutilisées.

     

Les catégories générées par défaut sont & # 8216; syntaxe & # 8217; et & # 8216; non pris en charge & # 8217 ;.   De plus, & # 8216; gnu & # 8217; et & # 8216; la portabilité & # 8217;   sont activés dans --gnu et --gnits   rigueur.

     

La variable d’environnement WARNINGS peut contenir une liste de   catégories à activer. Il sera pris   en compte avant la ligne de commande   commutateurs, cette façon -Wnone sera également   ignorer toute catégorie d'avertissement activée par   AVERTISSEMENTS. Cette variable est aussi utilisée   par d'autres outils comme autoconf; inconnu   les catégories sont ignorées pour cette   raison.

Le fichier par fichier répertorié à la section 17 fait référence à un fichier source et non à un fichier de compilation.

Je ne connais aucun paramètre d'indicateur de fichier par source, mais vous pouvez définir l'option pour chaque résultat binaire avec:

binaryname_CXXFLAGS
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top