GNU-make: генерирует сообщения "Circular .......
(Прошу прощения за мой английский)
Я использую GNU-make для компиляции машинописных кодов. GNU-make более прост и удобен, чем другие подобные инструменты. Мой оригинальный Makefile находится ниже, и он работает хорошо.
all: test.js request.js server.js
test.js: test.ts
compiler test.ts
request.js: request.ts
compiler request.ts
server.js: server.ts
compiler server.ts
clean :
del test.js request.js server.js
Поскольку файлы для компиляции увеличиваются, я изменил Makefile, как показано ниже.
TARGETS=test.js request.js server.js
all: $(TARGETS)
.SECONDEXPANSION:
%: $$(basename $$@).ts
compiler $(basename $@).ts
clean :
del $(TARGETS)
Модифицированный Makefile также хорошо работает, но генерирует эти сообщения.
make: Circular test.ts <- test.ts dependency dropped.
make: Circular request.ts <- request.ts dependency dropped.
make: Circular server.ts <- server.ts dependency dropped.
make: Nothing to be done for 'all'.
Как я могу удалить сообщения "Circular .......
1 ответ
Почему вы используете вторичное расширение? Это похоже на тривиальное использование стандартных шаблонных правил, нет необходимости в сложных функциях:
%.js: %.ts
compiler $<