Pour la Boucle dans GNU Makefile — Rassembler tous les Fichiers de l'Objet dans une Variable dans Plusieurs Répertoires
L'idée générale de ce que je suis en train d'être accompli peut espérer être résumée par ce petit script.
DIRS = dir1 dir2 dir3 dir4 ...
OBJS =
all: GENERATE_OBJECT_FILES
GENERATE_OBJECT_FILES:
for curr_dir in $(DIRS); \
do \
$(join $(OBJS), `ls $${curr_dir}/*.o`); \
done
echo $(OBJS);
Comment pourrais-je réaliser cela avec un script dans un fichier Makefile?
OriginalL'auteur Matthew Hoggan | 2012-03-05
Vous devez vous connecter pour publier un commentaire.
Je voudrais utiliser
générique
function à l'extérieur de la recette, comme ceci:OriginalL'auteur Eldar Abusalimov
J'aimerais faire de cette façon:
Oui. Pourriez-vous être plus précis? Une coquille
for
boucle comme Matthem Hoggan, ou uneforeach
ressembler Eldar Abusalimov? Que voulez-vous faire avec la variable?En général, je voulais utiliser un
for
en boucle, ce qui élargit d'une variable. Quelque chose commefor i in $(LIST) ; do Var += $$i ; done
Il persista dans son refus de moi, en me disant queVar
n'existait pas.Que la commande contient une erreur de syntaxe qui vous permettra de découvrir si vous simplifier. Essayez d'exécuter la boucle sans Faire. Ensuite, essayez d'exécuter la commande sans la boucle. Puis le fixer, de décider si c'est ce que vous avez à l'esprit, et de travailler jusqu'à.
OriginalL'auteur Beta