Reputation: 427
(Please excuse my English)
I'm using GNU-make for compiling typescript codes. GNU-make is more simple and convenient than other similar tools. My original Makefile is below, and it works well.
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
As files to compile are increased, I modified the Makefile like below.
TARGETS=test.js request.js server.js
all: $(TARGETS)
.SECONDEXPANSION:
%: $$(basename $$@).ts
compiler $(basename $@).ts
clean :
del $(TARGETS)
The modified Makefile also works well, but generates these messages.
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'.
How can I remove the "Circular ....... dependency dropped" messages?
Upvotes: 1
Views: 204
Reputation: 100866
Why are you using secondary expansion? This seems like a trivial usage of standard pattern rules, no need for complicated features:
%.js: %.ts
compiler $<
Upvotes: 3