Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.UNIX.BSD
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.UNIX.BSD с датами от 18 Jan 11 22:51:00 до 09 Aug 24 15:07:25, всего сообщений: 10761
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 7519 из 10761 ===================================== RU.UNIX.BSD =
От   : Victor Sudakov                   2:5005/49          16 May 18 15:55:38
Кому : Eugene Grosbein                                     16 May 18 15:55:38
Тема : Makefile
FGHI : area://RU.UNIX.BSD?msgid=2:5005/49+5afbf2c5
На   : area://RU.UNIX.BSD?msgid=grosbein.net+fd914f6d
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.UNIX.BSD?msgid=grosbein.net+78bb3c5d
==============================================================================
Dear Eugene,

16 May 18 15:31, you wrote to me:

EG>>> И в третий раз спрошу, а можно всё-таки услышать ответ?
EG>>> Потому как теоретически решение от него не зависит,
EG>>> но практически очень даже.

VS>> В реальности есть скрипт, который пробегает лог-файл и создаёт по
VS>> нему N отчётов, каждый отчёт в свой файл. Все отчёты генерятся за
VS>> один проход скрипта. Потом отчёты скармливаются другим
VS>> программам. В общем-то ничто не мешает переписать этот скрипт,
VS>> чтобы создавать по одному отчёту за один запуск. Hо это некрасиво
VS>> и медленнее примерно в N раз.

EG> Да, это было бы плохое решение. Я в своих скриптах, для которых важно
EG> отсутствие двойного запуска, добавляю в самое начало:

EG> #!/bin/sh

EG> : ${TMPDIR:=/var/tmp}
EG> if [ "$1" != "-locked" ]; then
EG>   lockf -t0 $TMPDIR/$0.lock $0 -locked "$@"
EG>   exit 0
EG> fi
EG> shift

EG> То есть, если запущены без блокировки, попытаться захватить
EG> блокировку и если получилось - работать дальше, а иначе exit 0.

Это хорошая мера предосторожности, но мы уклонились от темы сабжей.

[dd]

EG>>> Аргумент if somebody does something like "touch generate_output"
EG>>> просто смешон, а если самбоди с правами за запись в obj подменит
EG>>> сгенерированные файлы там и/или подставит им фейковые mtime?
VS>> В целом да, аргумент достаточно надуманный, но иллюстрирует
VS>> ущербность make и костыльность workaround-а.

EG> Обожемой, а что у нас не костыльное-то?

Ну что-нибудь наверное есть.

VS>> А модификатор .WAIT нельзя как-нибудь тут полезным образом
VS>> использовать?

EG> Впервые слышу про него :-)

Это я уже с тоски штудировал man make и наткнулся. Но не придумал, как применить для описанной задачи.

Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322
* Origin: Ulthar (2:5005/49)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.096134 секунды