makefile 配方的构建时间

Build time for makefile recipe

我想计算 makefile 中每个配方所花费的时间

SYS_TIME = $(shell date)
SUBDIRS = a b c d

.PHONY = default

default:
    for dir in $(SUBDIRS); \
    do \
       $(eval ST = $(SYS_TIME)) \
       $(MAKE) -C FOLD=$$dir; \
       $(eval ET = $(SYS_TIME))
       echo "time spent  =   $(ST) - $(ET) "
   done; \

结果应如下所示:

time spent = 1:35

time spent = 2:23

time spent = 10:59

time spent = 5:35

第一次表示1分35秒,其他相同

$(shell date)

的其他替代方案

只需在命令行前加上 time,例如:time $(MAKE) -C $$dir