creo que he visto esta pregunta aquí antes ...
Puede reemplazar la cáscara con algo que llama a una concha, pero los horarios de su ejecución, y escribe el resultado en algún lugar junto con el nombre de destino. Cada objetivo se compilará solo una vez (o make se negará a ejecutarse), así que todo lo que tendrá que hacer es agregar los tiempos.
ejemplo muy crudo: sustituir
make
con
make SHELL='echo [email protected]: && time sh'
Si no desea agregar los momentos juntos, también tiene que unirse de alguna manera los comandos para cada objetivo en una sola mando. Una forma de hacerlo es preprocesando el Makefile, pero por varias razones, eso no va a funcionar bien para cualquiera de los archivos Makefiles, excepto el más simple.
E.g. intentando algo así como
perl -0pe 's/([^:])\s*\n\t[@-]?/$1; /g' Makefile | make -f - SHELL='echo [email protected]: && time sh'
es una puñalada muy cruda en esa dirección.
Existen varios enfoques alternativos, pero creo que la única solución real es agregar esta función; GNU make está escrito en C muy portátil, por lo que no debería ser muy difícil de hacer.
'SHELL' ... inteligente –