how to print invocated commands including non echoed ones ”@foo” ?
make -n
but dont invocated them :
Solution :
remake -d
This helped to hack autotools makefiles
If you need only a few known variables exporting in makefile can be an option, here is an example of what I am using.
$ grep ID /etc/os-release
ID=ubuntu ID_LIKE=debian
$ cat Makefile
  default: help rule/setup/lsb
  
  source?=.
  
  help:
          -${MAKE} --version | head -n1
  
  rule/setup/%:
          echo ID=${@F}
  
  rule/setup/lsb: /etc/os-release
          ${source} $< && export ID && ${MAKE} rule/setup/$${ID}
$ make
  make --version | head -n1
  GNU Make 3.81
  . /etc/os-release && export ID && make rule/setup/${ID}
  make[1]: Entering directory `/tmp'
  echo ID=ubuntu
  ID=ubuntu
VPATH :
OBJ_DIRS?=$(shell find . -iname "*.o" | sed -e "s|\(.*\)/.*|\1|g" | sort | uniq | tr '\n' ':')
VPATH=${OBJ_DIRS}
show-vpath: ${OBJS}
    echo "VPATH="
    echo ${^D} | tr ' ' '\n' | sort | uniq | tr '\n' ':' "
  
RegEx :
test: ${CURDIR}
echo ${<:%-1.0.0=%}
echo ${<:%-1.0.0=%-snapshot}
echo ${<:%-%=%-snapshot}
echo ${<:%-1.0.0=%-snapshot}
install-libs: ${modules_jni}
echo ${^:TuxGuitar-%=tuxguitar-%} 
for t in ${^} ; do  \
 echo install -s  $$t/$${t/TuxGuitar/tuxguitar} \
 ; done
install-list:
   find . -type f -perm -u+x -exec file '{}' \;
" *** target pattern contains no `%'. Stop."
pwd | grep ':'
Message :
# rzr@lap:linux/ # [0] # make Makefile:129: *** multiple target patterns. Stop.
Cause :
# rzr@lap:linux/ # [0] # pwd /home/rzr/var/cache/url/git/ssh/git@github.com:/rzr/linux/src/linux
Solution :
# rzr@lap:ssh/ # [0] # mv git\@github.com\: git\@github.com/