gnu make: how does it work

dgaf

Make текущее время сравнивает с mtime файла, если второе больше, то ругается.
Что это за хрень с adjusted_now?
Кто гарантирует, что оно ноль в первый раз?
make.h:
#define FILE_TIMESTAMP uintmax_t
remake.c:
if (!clock_skew_detected
&& mtime != NONEXISTENT_MTIME && mtime != NEW_MTIME
&& !file->updated)
{
static FILE_TIMESTAMP adjusted_now;
FILE_TIMESTAMP adjusted_mtime = mtime;
#if defined(венда)
<..>
#endif
if (adjusted_now < adjusted_mtime)
{
int resolution;
FILE_TIMESTAMP now = file_timestamp_now (&resolution);
adjusted_now = now + (resolution - 1);
if (adjusted_now < adjusted_mtime)
{
<..>

Vlad77

Кто гарантирует, что оно ноль в первый раз?
static FILE_TIMESTAMP adjusted_now;
static же

dgaf

А зачем первая проверка?

kokoc88

А зачем первая проверка?
static же

dgaf

Узнал много нового, спасибо.
Оставить комментарий
Имя или ник:
Комментарий: