3
Je me demande comment faire correspondre l'occurrence exacte d'un mot donné dans la liste de mots donnée en utilisant uniquement des opérations de fichier makefile standard. Dans l'exemple ci-dessous pour WORD_TO_MATCH = a, le résultat est positif et apparemment faux.Comment faire correspondre l'occurrence de mot dans la liste dans le fichier makefile
INPUT_LIST= aa bb
WORD_TO_MATCH = aa
#WORD_TO_MATCH = a
ifneq ($(findstring $(WORD_TO_MATCH),$(INPUT_LIST)),)
$(warning List contains "$(WORD_TO_MATCH)")
else
$(warning List doesnt contain "$(WORD_TO_MATCH)")
endif
Et maintenant, une tâche bonus - '$ (filtre ...)' la liste sur une sous-chaîne (non correspondance exacte de la mot, mais des mots contenant - attendez-le - la racine d'une règle de modèle, pour spécifier ses dépendances Où je veux dire quelque chose comme: 'target_dir /%. o: $ (filter, $ (LIST_OF_SOURCES_IN_DIFFERENT_DIRS))', et dans la règle a '% ^' retourner les bons fichiers ... Je pense à faire une question, mais cette serait difficile. (BTW, j'ai entendu parler de '.SECONDEXPANSION', mais il est pratiquement non documenté). –