У меня возникли проблемы с пониманием того, почему Make будет запускать «lib» -recipe, даже если файл уже существует. Не следует ли его игнорировать, поскольку «$ (LIBBIN)» не находится .PHONY?Сделать: рецепт запущен, даже если существует предварительное условие
Вот выдержка из файла Makefile (ts = 2, см. «TODO»).
.PHONY: all clean default apps lib examples
default: lib
all: apps lib examples
apps: $(APPBINS)
lib: $(LIBBIN)
examples: $(EXBINS)
$(LIBBIN): % : %.$(VERSION)
# TODO -f should really not be necessary. why is the recipe run, when the file exists?
ln -sf $^ [email protected]
$(LIBBIN).$(VERSION): $(LIBOBJECTS) | $(LIBOUTDIR)
$(CC) $^ -o [email protected] $(LIBLDFLAGS)
chmod 755 [email protected]
я надеялся, что один из вас гуру знает ответ ;-)
Уважение, yogo1212
EDIT: может быть, я должен сказать, что я уже пытался сделать предварительные условия , из lib и всего только для заказа. Не было видимого эффекта.
EDIT2: оказывается, что это действительно работает. у файла ссылок, похоже, была отметка времени, которая была отключена на минуту, и ее попытка была смущена. явление исчезло после воссоздания структуры папок и перезапуска.
Вы правы. я скопировал весь проект на другой раздел и работал, как ожидалось. оригинальная копия не будет работать до перезапуска компьютера, хотя – Banyoghurt