Summary: | проблемы с отработкой правил в make-3.81beta2-alt7 | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Vadim V. Zhytnikov <vvzhy> |
Component: | make | Assignee: | Alexey Gladkov <legion> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P2 | CC: | ldv, legion |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
URL: | https://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=13022 |
Description
Vadim V. Zhytnikov
2005-05-04 07:06:14 MSD
У меня не воспроизводится на gcl-2.6.6-alt2 с тестируемым сейчас make-3.81beta3-alt1. А можно получить этот make-3.81beta3-alt на приватное тестирование? Скажем на /pub/people/ldv... Просто я не описал, чтобы не затуманивать и так длинный баг репорт, симптомы "неперисобираемости". На самом деле формально сборка gcl успешно завершается, вот только результат кривой. Но и эту кривость тоже сразу не видно. Впрочем, если в логах make видно, что для всех clcs_foo.o отработало правило %.o: %.c %.h %.data $(CC) $(CFLAGS) -c $< -o $@ ../xbin/append $*.data $@ то всё должно быть хорошо. Мне удалось упростить тест до минимума, необходимого для того, чтобы отрепортить проблему разработчикам. С другой стороны, новый make правильнее работает, если заменить all: $(addsuffix .c,$(FILES)) $(addsuffix .o,$(FILES)) на all: $(addsuffix .o,$(FILES)) Тем более что эти .c-файлы всё равно временные. Подтверждаю. С таким изменением сборка проходит успешно. И, возможно, такой makefile действительно более правильный. Но всё же я не вижу причины по которой правило для .o не срабатывает с оригинальным варинтом makefile. По ошибке оно не срабатывает, очевидно. Разработчики пишут, что это неприятный баг: http://savannah.gnu.org/bugs/?func=detailitem&item_id=13022 Upstream утверждает, что в make-3.81 это исправлено. Просьба проверить make-3.81-alt1 Проверил на сборке gcl. Работает нормально. Баг можно закрывать. |