Tôi nghĩ rằng tôi đã nhìn thấy câu hỏi này ở đây trước ...
Bạn có thể thay vỏ với cái gì đó gọi là vỏ nhưng thời gian thực hiện của nó, và ghi kết quả ở đâu đó cùng với tên mục tiêu. Mỗi mục tiêu sẽ được xây dựng chỉ một lần (hoặc thực hiện sẽ từ chối chạy) vì vậy tất cả các bạn sẽ phải làm là thêm thời gian với nhau.
dụ Rất thô: thay thế
make
với
make SHELL='echo [email protected]: && time sh'
Nếu bạn không muốn thêm lần với nhau, bạn cũng phải bằng cách nào đó tham gia các lệnh cho mỗi mục tiêu vào một đơn chỉ huy. Một cách để làm điều đó là bằng cách xử lý tiền tố Makefile, nhưng vì nhiều lý do, điều đó sẽ không hoạt động tốt cho bất kỳ thứ gì nhưng đơn giản nhất là Makefiles.
Ví dụ: thử một cái gì đó như
perl -0pe 's/([^:])\s*\n\t[@-]?/$1; /g' Makefile | make -f - SHELL='echo [email protected]: && time sh'
là đâm rất thô theo hướng đó.
Có nhiều cách tiếp cận khác nhau, nhưng tôi nghĩ giải pháp thực sự duy nhất là thêm tính năng này để tạo; Việc tạo ra GNU được viết bằng C rất dễ di động, do đó việc này không khó thực hiện.
'SHELL' ... thông minh –