Cztery znaki dolara w Makefile
Czytam dokument GNU Make. Oto przykład
% .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 $@.$$
Próbowałem tego w programie C ++ i dostałem listę plików
init3d.d init3d.d.18449 input.d input.d.18444 main.d main.d.18439
Oto, co znalazłem, ale nie rozumiem tego samegodokument
Jeśli włączono dodatkowe rozwinięcie i chcesz literalnego znaku dolara na liście wymagań wstępnych, musisz napisać cztery znaki dolara („$$”).
Zastanawiam się, co właściwie oznaczają cztery znaki dolara „$$”? W jaki sposób 18449, 18444 lub 18439?
Dziękuję i pozdrawiam!