Leave a comment

Comments 10

romik_g January 20 2011, 18:11:36 UTC
for i in `ls -1 *.gz`; do gunzip $i &; done

Reply

romik_g January 20 2011, 18:12:16 UTC
хотя да, поштучно так просто сходу не ограничишь

Reply

sa_chernomor January 20 2011, 18:38:42 UTC
потому и make :)

Reply


> make FILES=*gz gunzip -j12 poige January 28 2011, 19:50:26 UTC
Твоя идея?

Reply

Re: > make FILES=*gz gunzip -j12 sa_chernomor January 28 2011, 19:56:27 UTC
угу. плохо?
в общем-то, именно в таком виде я его не гоняю - список файлов формируется либо find'ом, либо еще как-то и через переменную передается make'у. конкретно "FILES=*gz" тут для примера (хотя вроде работало)

Reply

> угу. плохо? poige January 28 2011, 19:59:01 UTC
Ничуть, я бы сказал "круто". :-)

Reply

Re: > угу. плохо? sa_chernomor January 28 2011, 19:59:56 UTC
спасибо :)

Reply


mithraen September 3 2012, 14:54:55 UTC
Обожаю использовать make как еще один скриптовый язык.
Но у него есть одна грабля -- он очень плохо дружит с пробелом и некоторыми другими спецсимволами в именах. Начинаются разнообразные грабли, и это known bug.

Для параллельного запуска я недавно открыл для себя еще GNU parallel.

Еще, кроме .PHONY я часто использую .SECONDARY.

Ну и особо make радует если нужна поступенчатая обработка.

А если уж что-то совсем хитрое надо, то помогаеют конструкции вида:

Makefile.abc: something
somescript > $@

-include Makefile.abc

Reply

sa_chernomor September 11 2012, 06:58:50 UTC
спасибо, parallel выглядит симпатично, надо будет попробовать

Reply


mithraen September 3 2012, 14:56:54 UTC
Да, а имя цели передавать не обязательно -- будет использоваться первое попавшееся.

И еще см. доку на предмет wildcard и patsubst, тогда и .PHONY здесь не понадобится. И будет корректно работать если часть уже выполнено.

Reply


Leave a comment

Up