J'ai par exemple. une liste de fichiers-source affectée à une variable au sein de makefile et souhaite à comprendre au moment de la construction, s'il y a des entrées répertoriées deux fois ce qui pourrait troubler le processus de construction et son résultat:Récupération des entrées redondantes des éléments listés contenus dans les variables make
Exemple:
ListofSource = ./a/hello.c ./b/sys.c ./c/input.c ./d/hello.c
Comment est-il possible d'analyser/ListofSource filtre récupération d'une liste
DuplicateSources = ./a/hello.c ./d/hello.c
Fonction $ (liste de tri) trie une liste et supprime les entrées redondantes, j'ai besoin le comportement opposé. Existe-t-il des fonctionnalités de création qui pourraient être appliquées?
Échec lorsque $ {LIST} n'est pas trié, mais sans doublons. Je suggère que vous deviez comparer la sortie de '$ (mots ...)': 'ifneq ($ (mots $ {LIST}), $ (mots $ (trier $ {LIST}))) ...'. (Oh, et votre test est à l'envers.) – bobbogo
@bobbogo: Vous avez raison de dire que le test est mauvais, mais quelle partie de "vous pourriez exiger que la liste soit dans l'ordre"? ? L'utilisation de '$ (words)' n'est pas une mauvaise idée, mais vous n'utilisez pas '$ {}' pour développer des variables dans 'make'. –
Oh oui vous faites! Je réserve habituellement '$()' pour les fonctions, et '$ {}' pour les variables utilisateur (trop de perl methinks). Améliore la lisibilité à mon humble avis. Vous avez raison sur le libellé. Dans la mesure où la liste doit être triée, tout en conservant les doublons, ce serait une question en soi! – bobbogo