Ответ 1
Gnu Make использует переменную $(SHELL) для выполнения команд в целевых объектах.
По умолчанию он установлен в /bin/sh.
Вы можете установить эту переменную в script, которая выполнит команду, заданную командой "время". Что-то вроде этого:
В вашем файле make укажите переменную SHELL, где-то вверху:
SHELL = ./report_time.sh
и в файле. /report _time.sh:
#!/bin/sh
shift # get rid of the '-c' supplied by make.
time sh -c "$*"
Замените команду 'sh' на исходный SHELL, указанный в Makefile, если таковой имеется.
Это сообщит о таймингах.
Однако это не скажет вам, какой целевой задачей является report_time.sh script. Одним из решений для этого является добавление целевого имени ($ @) в каждую целевую запись в файле makefile, чтобы оно также передавалось в report_time.sh script.