Ne pouvez pas exécuter le fichier Makefile.suis, que dois-je faire?
J'ai un projet C pour compiler et exécuter sous Linux. C'est un très gros projet avec de nombreux sous-répertoires. À l'intérieur du répertoire parent il y a des fichiers Makefile.am
et Makefile.in
.
J'ai essayé de courir make -f Makefile.am
, et a obtenu l'erreur suivante:
make: Nothing to be done for `Makefile.am'.
Ça veut dire quoi? Comment puis-je accomplir ma tâche?
OriginalL'auteur sara | 2010-11-17
Vous devez vous connecter pour publier un commentaire.
Ces fichiers sont utilisés avec la Autotools suite. Makefile.suis les fichiers sont compilés pour les Makefiles à l'aide de automake.
Ont un oeil pour voir si il y a un
configure
script dans le répertoire. Si il y a, ensuite, tapez:Si non, puis exécutez:
dans le répertoire, ce qui devrait créer le
configure
script (vous aurez besoin d'avoir les Autotools suite est installé pour exécuter cette).Après cela, vous devriez avoir un
configure
script que vous pouvez exécuter.Après la configuration est terminée, vous devriez avoir une normale Makefile dans le répertoire, et sera en mesure d'exécuter
Comme je l'ai dit, vous aurez besoin d'avoir les Autotools suite est installé pour exécuter cette commande. Jetez un oeil ici: sourceware.org/autobook/autobook/autobook_274.html
j'ai installé. maintenant, il dit qu'il a besoin de le configurer.ou configurer.ca
Ainsi, il semble que peut-être tous de la "développeur" parties de la source ne sont pas là. Êtes-vous sûr qu'il n'est pas un
configure
fichier dans le répertoire? (Si il y est mais il tout simplement pas exécutable, vous pouvez toujours exécuter avecsh configure
)Aussi, vous pouvez essayer d'exécuter
autoscan
pour voir si cela crée vous un utilisableconfigure.in
fichier. Ma conjecture est que vous pouvez avoir à le modifier pour le rendre utilisable.OriginalL'auteur Lee Netherton
Ce qui a été laissé de côté:
Aucune de ces (Makefile.{am,en}) sont censés être utilisé avec
make -f
.Si l'archive est déjà livré avec configurer, il suffit d'exécuter et de faire. Si ce n'est pas, exécutez
./autogen.sh
oubootstrap
(*). Si cela n'existe pas, utilisezautoreconf
à la place.(*) autogen/bootstrap: Une commodité script ajoutées par les développeurs qui devrait appelez simplement
autoreconf
. Malheureusement il y a des gens qui échappent à autoreconf et inutilement appeler tout le bas niveau des commandes elles-mêmes.OriginalL'auteur user502515
Pour compléter ce qui a déjà été dit:
Recherche pour un script appelé configurer dans le répertoire du projet. Si elle est là, la construction du projet seront les suivants:
./configurer
faire
et, éventuellement, à installer:
sudo make install
ou su-c "make install"
Même si il n'y a pas de configurer script. il y a peut être un autogen.sh. Exécuter ce script pour générer le script de configuration et de faire comme ci-dessus.
OriginalL'auteur subhacom
Makefile.am
est probablement pour être utilisé avec automake.essayer:
vous pourriez également vouloir essayer de
Puisque c'est le produit de l'exécution de automake
OriginalL'auteur Daren Thomas