I was reading a makefile where I found this statement
make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) modules Can anyone explain what is shell here. Command substitution is being tried here but for that only uname -r would have been sufficient. Why is shell word being used and what is its meaning?
I have already tried doing man on shell but as I expected it shows nothing. I also tried executing shell uname -r on command line. It does not work. I believe that this variable is defined in make.
gmakeimplements calls to external programs in order to use their output.