2009-11-17 6 views

Répondre

2

Jetez un oeil à this section in the automake manual regarading default _SOURCES. Cela ressemble à dire:

bin_PROGRAMS = target 
AM_DEFAULT_SOURCE_EXT = .foo 

vous passerez la première étape. Donc, 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 fichier d'en-tête qui sont inclus dans ce fichier. GCC crache les noms d'objets déduits, en transformant les stem.h -> stem.o inclus. Et voici où je frappe un mur. Pour que votre script automake soit complètement portable, vous ne pouvez pas utiliser les modèles %. Vous devez utiliser le suffixe stacking, comme wallyk l'a démontré dans sa réponse.

En fonction de vos besoins de portabilité, vous pouvez simplement ignorer et définir la règle implicite dans Makefile.in être quelque chose comme:

%.o : %.foo 
    $(CXX) -o [email protected] -c $(CPPFLAGS) $(CXXFLAGS) $< 

Si la portabilité est une exigence stricte, je crains que vous êtes dehors de la chance sans beaucoup de piratage.

0

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

.foo.o: 
     foocc -c -o [email protected] $< 
Questions connexes