GNU-make:生成"循环.......依赖性丢弃"消息

时间:2018-06-06 13:32:59

标签: makefile gnu-make makefile-errors

(请原谅我的英文)

我使用 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;消息?

1 个答案:

答案 0 :(得分:2)

为什么使用二次扩展?这似乎是标准模式规则的一个微不足道的用法,不需要复杂的功能:

%.js: %.ts
        compiler $<
相关问题