Я изучаю make-файл из документации GNU: https://www.gnu.org/software/make/manual/make.html
Не определено, что делают символы *, ~ и%, например, в следующем фрагменте кода:
all: hello.so man.so
%.so: %.o
$(CXX) -dylib -shared $^ -o $@
.PHONY = clean
clean:
rm -f *.o *~ *.so