2010-01-12 6 views
2

J'ai un makefile qui, en fonction de certaines propriétés, définit vpath et génère une liste de fichiers sources en une seule variable. J'ai besoin d'exécuter le fichier makefile sans rien compiler (la compilation est en fait gérée par un makefile différent) et de voir à quels fichiers réels les noms de fichiers correspondent en fonction des paramètres de vpath.Comment obtenir des chemins absolus après la correspondance de vpath dans make?

Répondre

6

Option 1: Que faire faire son chemin recherche:

.PHONY: whichfiles 
whichfiles: $(LIST_OF_SOURCE_FILES) 
    @echo $+ 

Option 2: Simuler la recherche de chemin en utilisant $ (wildcard):

.PHONY: whichfiles 
whichfiles: 
    @echo $(foreach f,$(LIST_OF_SOURCE_FILES),$(firstword $(wildcard $(VPATH:%=%/$f)) not-found:$f)) 

De toute façon, "make whichfiles" imprimeront la liste des fichiers correspondants.

Si certains fichiers ne peuvent pas être trouvés, l'option 1 échouera avec "aucune règle à faire" indiquant le premier fichier qui n'a pas pu être trouvé. L'option 2 affichera "not-found:" pour chaque fichier manquant.

Questions connexes