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!

questionAnswers(3)

yourAnswerToTheQuestion