On Thursday 18 August 2011, Bert Lange wrote:
Ich möchte von einem Make-Durchlauf ein komplettes Logfile anlegen lassen. Um die Auswirkung von Parametern vergleichen zu können, soll bei jedem Durchlauf ein neues Logfile angelegt werden. Dazu wird mit date eine Zeichenkette gebildet, die dem Dateinamen des Logfiles angehangen wird. Allerdings beißen sich Logfile und make noch ein bißchen:
Deine Varianten 3 und 4 sind die einfachsten, die ich genommen hätte. Varianten 1 + 2 sind recht unelegant, aber lassen sich mit etwas Magie ausbessern:
Variante 2
--Makefile-- DATE = $(shell date +"%Y-%m-%d__%H_%M") export LOGFILE := logfile_$(DATE).txt
pre_all: $(MAKE) all 2>&1 |tee $(LOGFILE)
all: module_B
module.A: process_A
module.B: module.A process_B --end--
Die "pre_all"-Regel wird per default ausgeführt - alles was sie tut ist make nochmal aufrufen und den Output umleiten, das 2>&1 sorgt dafür dass auch Fehlermeldungen im Log landen.
Konrad