Я запускаю небольшую утилиту из файла make (используя GNU Make 3.81).Утилита конвертирует один тип файла в другой.Например, файл ' thefile.x ' преобразуется в ' thefile.xy '.
Правило назначения и создания:
%.x.y: %.x
convertfile $< $@
all: file1.x.y file2.x.y
Это на самом деле работает (файл .xy создается, но я всегда получаю сообщение:
make: Circular thefile.x <- зависимость thefile.xy удалена. </strong>
Это всего лишь небольшая проблема, так как мы не хотим видеть сообщения, когда все на самом деле работает.
Посмотрели другие вопросы и ответы по «круговой зависимости», и ни одна из них не кажется той же самой проблемой, которую яПо другим техническим причинам я не могу изменить соглашения об именах файлов для этого проекта.
После комментария ниже я хочу уточнить, что я делаю, и воспроизвести весь файл make, который я использую:
%.js.c: %.js
js2c $< $@
all: test1.js.c test2.js.c
Вот вывод, когда я его запускаю, и у него есть что делать:
C:\work\timtest>make
make: Circular test1.js <- test1.js.c dependency dropped.
js2c test1.js test1.js.c
[RomFs] test1.js => test1.js.c
make: Circular test2.js <- test2.js.c dependency dropped.
js2c test2.js test2.js.c
[RomFs] test2.js => test2.js.c
Вот вывод, когда ничего не делать:
make: Circular test1.js <- test1.js.c dependency dropped.
make: Circular test2.js <- test2.js.c dependency dropped.
make: Nothing to be done for `all'.