2011-08-05 2 views
1

Je ne sais pas quoi google pour cela, alors excusez-moi si la question est stupide.Comment appliquer une commande à toutes les dépendances modifiées dans GNU Make?

J'ai une règle Makefile qui dépend de plusieurs fichiers. Lorsque l'un d'eux change, je veux make pour appeler un programme et lui passer la liste des fichiers modifiés en tant qu'arguments de ligne de commande. Idéalement, je veux quelque chose comme ceci:

myfiles: file1.txt file2.txt file3.txt 
    my_command $(CHANGED_DEPENDENCIES) 

Par exemple, si je l'ai changé file1.txt et file2.txt, je pense make à invoquer my_command file1.txt file2.txt

Comment puis-je accomplir cela?

Merci.

Répondre

2

Utilisez une variable automatique:

$? Les noms de toutes les dépendances plus récentes que la cible, avec des espaces entre elles. Pour les dépendances qui sont des membres d'archive, seul le membre named est utilisé (voir la section Utilisation de make pour mettre à jour les fichiers archive).

Voir gnu make

Questions connexes