GNU-make: генерирует сообщения "Circular ....... - PullRequest
0 голосов
/ 06 июня 2018

(прошу прощения за мой английский)

Я использую 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 Ответ

0 голосов
/ 06 июня 2018

Почему вы используете вторичное расширение?Это похоже на тривиальное использование стандартных шаблонных правил, нет необходимости в сложных функциях:

%.js: %.ts
        compiler $<
...