Question

Comment puis-je forcer Automake à générer un suivi de dépendance pour les fichiers de suffixe C ++ non standard? En particulier, je veux dire générer du contenu de fichier de répertoire .deps. J'utilise également libtool.

Merci

Était-ce utile?

La solution

Jeter un coup d'œil à Cette section du manuel de l'automake regaradant la valeur par défaut _SOURCES. Il semble dire:

bin_PROGRAMS = target
AM_DEFAULT_SOURCE_EXT = .foo

vous fera passer la première étape. Ainsi, maintenant Automake sait où chercher la première dépendance (target.foo), et il demandera à GCC de calculer les dépendances de target.foo en fonction des noms de fichiers d'en-tête inclus dans ce fichier. GCC crache les noms d'objets déduits, transformant le inclus stem.h -> stem.o. Et c'est là que j'ai heurté un mur. Pour que votre script d'automake soit complètement portable, vous ne pouvez pas utiliser le % motifs. Vous devez utiliser l'empilement du suffixe, comme Wallyk l'a démontré dans sa réponse.

Selon vos exigences de portabilité, vous pouvez simplement ignorer cela et définir la règle implicite dans Makefile.in pour être quelque chose comme:

%.o : %.foo
    $(CXX) -o $@ -c $(CPPFLAGS) $(CXXFLAGS) $<

Si la portabilité est une exigence stricte, j'ai peur que vous n'ayez pas de chance sans beaucoup de piratage.

Autres conseils

Ajoutez une règle implicite. Par exemple, pour compiler *.foo Fichiers utilisant un compilateur FOO foocc:

.foo.o:
      foocc -c -o $@ $<
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top