(请原谅我的英文)
我使用 GNU-make 编译 typescript 代码。 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'.
如何删除&#34;循环.......依赖关系掉落&#34;消息?
答案 0 :(得分:2)
为什么使用二次扩展?这似乎是标准模式规则的一个微不足道的用法,不需要复杂的功能:
%.js: %.ts
compiler $<