Quatro cifrões em Makefile
Eu estou lendo o documento do GNU Make. Aqui está um exemplo
% .d:% .c
@set -e; rm -f $@; \
$(CC) -M $(CPPFLAGS) @set -e; rm -f $@; \
$(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
sed ’s,\($*\)\.o[ :]*,\1.o $@ : ,g’ < $@.$$$$ > $@; \
rm -f $@.$$$$
lt; > $@.$$; \
sed ’s,\($*\)\.o[ :]*,\1.o $@ : ,g’ < $@.$$ > $@; \
rm -f $@.$$
Eu tentei isso em um programa C ++, e peguei a lista de arquivos
init3d.d init3d.d.18449 input.d input.d.18444 main.d main.d.18439
Aqui está o que eu encontrei, mas não entendo na mesmadocumento
Se você ativou a expansão secundária e deseja um sinal de dólar literal na lista de pré-requisitos, é necessário escrever quatro cifrões ("$$").
Eu me pergunto o que os quatro sinais de dólar "$$" significam realmente? Como eles 18449, 18444 ou 18439?
Obrigado e cumprimentos!