Chyba widziałem tutaj to pytanie przed ...
Można wymienić powłokę z czymś, co wywołuje skorupę ale czasy jego realizacji, i zapisuje wynik gdzieś razem z nazwą docelowej. Każdy cel zostanie zbudowany tylko raz (lub sprawi, że odmówi uruchomienia), więc wszystko, co musisz zrobić, to dodać czasy razem.
Bardzo surowy przykład zamienić
make
z
make SHELL='echo [email protected]: && time sh'
Jeśli nie chcesz dodawać czasy razem, też trzeba jakoś połączyć polecenia dla każdego celu w jeden dowództwo. Jednym ze sposobów, aby to zrobić, jest wstępne przetwarzanie pliku Makefile, ale z różnych powodów, który nie będzie działał dobrze dla żadnego, ale najprostszego pliku Makefile.
E.g. próbowanie czegoś takiego jak
to bardzo brutalne ukłucie w tym kierunku.
Istnieje wiele alternatywnych podejść, ale myślę, że jedynym prawdziwym rozwiązaniem jest dodanie tej funkcji; GNU make jest napisane w bardzo przenośnym C, więc nie powinno to być trudne.
'SHELL' ... sprytny –