Règles par défaut en Faire
Est-il un mécanisme en faire pour permettre globale par défaut des règles implicites qui sont disponibles n'importe où, similaire à la fonction intégrée dans les règles?
Faire offre quelques intégré inimplicit règles pour la compilation C/C++/Fortran fichiers, sans même exiger une Makefile
pour les cas simples. Cependant, lors de la compilation d'autres langues (par exemple, Aller à la programmation des fichiers de langue), un Makefile
est toujours nécessaire. Je tiens à exprimer ma Makeenvironment d'avoir des règles implicites disponible par défaut.
OriginalL'auteur notnoop | 2010-06-14
Vous devez vous connecter pour publier un commentaire.
Ce n'est normalement pas souhaitable, car elle serait la cause de votre Makefile pour être moins portable; il ne marcherait pas sur quelqu'un d'autre de la machine, s'ils n'ont pas mis en place de cette façon.
Toutefois, si vous voulez faire cela, créez un "global" Makefile quelque part avec vos règles par défaut pour les fichiers, ajoutez ensuite son chemin vers les fichiers "MAKEFILE" variable d'environnement. Ce Makefile global seront traitées avant les Makefile lorsque vous exécutez le "faire", comme si on l'avait compris sa source en haut du fichier.
OriginalL'auteur dmazzoni
Je suppose que vous faites allusion au fait que vous pouvez faire
et de faire automatiquement savez comment faire de la
.o
à partir d'un.c
fichier (ou, en fait, à partir d'un.f
ou.p
, s'il en existe un) - mais vous voulez le faire pour les types de fichiers personnalisés (par exemple, la construction d'un.bar
à partir d'un.foo
.La plupart des portables façon de le faire est comme suit (dans votre Makefile):
La première ligne (
.SUFFIXES
) avertit faire que vous serez le traitement de ces suffixes; la seconde ligne indique "ici est une recette pour faire un.bar
à partir d'un.foo
. La troisième ligne donne la commande pour ce faire -$>
et$@
obtenir changée en faire pour l'entrée et la sortie des noms de fichiers.REMARQUE: le retrait de La troisième ligne DOIT être un caractère de tabulation.
Beaucoup plus souple méthode, qui ne fonctionne qu'avec GNU make, est d'utiliser son soutien pour les règles implicites. Si vous pouvez garantir que vous allez utiliser GNU make, alors c'est probablement à être recommandé.
OriginalL'auteur psmears
Alors que je suis d'accord avec dmazzoni, je viens si je voudrais ajouter ma recette pour faire un Aller
Makefile
:(Note: le
$O
est DOLLAR + MAJUSCULE-o - pas de zéro!)Alors que je ne l'ai pas testé sur toutes les machines que j'ai à disposition, je pense qu'elle doit port assez bien.
OriginalL'auteur Morten Siebuhr