2016-08-24 3 views
0

Ich möchte Zeit für jedes Rezept in Make-Datei wieBauzeit für Make-Datei Rezept

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; \ 

Ergebnis aussehen soll ausgegeben caluclate:

verbrachte Zeit = 1:35

verbrachte Zeit = 2:23

Zeitaufwand = 10:59

verbrachte Zeit = 5:35

es 1 Minute 35 Sekunden für die erste und gleiche bedeuten für andere

oder eine andere Alternative für $ (shell Datum)

+0

Bitte zeigen Sie uns Ihre Arbeit. Nehmen wir zum Beispiel ein einfaches Makefile, das eine Debug-Build-Option und eine Release-Build-Option angibt. Das Ausführen des Debug-Builds und des Releases danach könnte dazu führen, dass der Release-Build sehr schnell läuft. Ein Rezept kann die Bauzeit anderer Rezepte beeinflussen. –

+0

Seitennotiz: http://Stackoverflow.com/q/6966877/4153464 Dies könnte das sein, was Sie suchen. Es wird nicht Ihr Makefile interpretieren, aber es ist wahrscheinlich nahe genug –

+0

@Work von Artiz in diesem Fall habe ich nur ein Rezept. Andere Build-Dinge, die ich nicht bekomme, kannst du genauer spezifizieren. –

Antwort

1

Präfix Sie Ihre Befehlszeilen mit time, zB: time $(MAKE) -C $$dir.

+0

später werde ich Zeit in eine Datei umleiten –

+0

manuelle Berechnung der Zeitaufwand erforderlich –

+0

@RohanG Siehe 'man Zeit', '-o Datei, --output = Datei' Option. –

Verwandte Themen