2010-10-07 22 views
17

Piszę Makefile i chcę użyć rodzajowe regułę z symboli wieloznacznych, jakUtwórz regułę w makefile tylko dla zestawu plików

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

Ale chciałem tę regułę jest ważna tylko dla nielicznych określone pliki. Chciałem zdefiniować zmienną z listy, na przykład

file_list = foo.c bar.c zzz.c

i skonfigurować reguły tak jest ważna tylko w przypadku plików, które są wymienione w tej zmiennej. Jak mogę to zrobić?

+0

Ty tylko lista plików '.c'; czy są jakieś inne pliki ".c" w katalogu? Czy są jakieś inne pliki, które należy zarchiwizować? Jeśli dodasz kolejny plik ".c", czy będzie on również zapisany? I dlaczego nie używasz systemu kontroli wersji (VCS), aby chronić swoją pracę? –

+0

@ Jonathan: ... jak możesz domyślić się, że on (i) nie używa VCS? –

+0

@ Jonathan Jeśli naprawdę musisz wiedzieć, to właśnie robię i dlaczego nie mogłem po prostu użyć symbolu wieloznacznego: Stworzyłem katalog "myconfig" w moim katalogu domowym, który jest na VCS. Ten katalog zawiera kopie plików w moim katalogu domowym, na przykład ~/.bashrc, ~/.emacs i inne. Chcę, aby reguła kopiowała oryginalny plik do tego katalogu, ale chcę go zabezpieczyć i uniknąć np. kopiowanie pliku Makefile z mojego katalogu domowego przez Makefile w tym katalogu. – dividebyzero

Odpowiedz