2010-10-07 7 views
17

J'écris un Makefile, et je veux utiliser une règle générique avec des caractères génériques, commeCréer une règle dans le Makefile pour juste un ensemble de fichiers

%: bkp/% 
    cp $< [email protected] 

Mais je voulais que cette règle est valable que pour quelques fichiers spécifiques. Je voulais définir une variable avec la liste, par exemple

liste_fichiers = foo.c bar.c zzz.c

et configurer la règle de sorte qu'il est valable uniquement pour les fichiers répertoriés dans cette variable. Comment je fais ça?

+0

Vous énumérez seulement les fichiers '.c'; existe-t-il d'autres fichiers '.c' dans le répertoire? Y a-t-il d'autres fichiers à sauvegarder? Si vous ajoutez un autre fichier '.c', devra-t-il également être sauvegardé? Et pourquoi n'utilisez-vous pas un système de contrôle de version (VCS) pour protéger votre travail? –

+0

@Jonathan: ... comment déduisez-vous qu'il (s) n'utilise pas de VCS? –

+0

@Jonathan Si vous avez vraiment besoin de savoir, c'est ce que je fais, et pourquoi je ne pouvais pas simplement utiliser un caractère générique: J'ai créé un répertoire "myconfig" dans mon répertoire personnel qui se trouve sur un VCS. Ce répertoire contient des copies de fichiers dans mon répertoire personnel, tels que ~/.bashrc, ~/.emacs et autres. Je veux que la règle copie le fichier original dans ce répertoire, mais je veux le rendre sûr, et éviter par exemple. Copier un Makefile de mon répertoire personnel sur le Makefile dans ce répertoire. – dividebyzero

Répondre

Questions connexes