LINUX.ORG.RU

Makefile: как разробратся почему make триггерит перекомпиляцию конкретного обьектника?

 ,


0

1

Makefile - простейший:

LIB = libUtils.a

.PHONY: all
all: $(LIB)

OBJECTS = Logger.o \
          Thread.o \

CFLAGS = -g -Wall -Wextra -pthread

INCLUDES := -I$(CURDIR)/../posix_include

$(LIB): $(OBJECTS) Makefile
    ar rcs $(LIB) $(OBJECTS)
    ranlib $(LIB)

%.o: %.cpp *.h Makefile
    g++ $(CFLAGS) $(INCLUDES) -I. -o $@ -c $<

с временем модификации всех файлов все отлично, но все обьектиники пересоздаются на каждом запуске make

★★★★★

Последнее исправление: cvv (всего исправлений: 1)

Не воспроизвелось. Время модификации Makefile и всех исходников, особенно заголовочных файлов, не в будущем относительно системных часов?

GNU Make 3.82

staseg ★★★★★
()
Последнее исправление: staseg (всего исправлений: 1)
Ответ на: комментарий от staseg

Тогда бы и предупреждение было...

Я сталкивался с таким на платформе ARM без корректных аппаратных часов, помогла команда, которая выставила сразу корректную дату всем файлам при помощи touch...

I-Love-Microsoft ★★★★★
()

make -d покажет тебе, почему make хочет что-то сделать.

LamerOk ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.