0
請注意,我不想重定向所有使輸出生成文件。我只想從$(警告)命令輸出文件。
someTarget:
$(warning building [email protected] using $?) >> someLogFile.txt
我上面的例子並不重定向從$輸出(警示someLogFile。有沒有辦法做到這一點?也許它重定向到一個變量,然後回顯到一個文件? 感謝。
請注意,我不想重定向所有使輸出生成文件。我只想從$(警告)命令輸出文件。
someTarget:
$(warning building [email protected] using $?) >> someLogFile.txt
我上面的例子並不重定向從$輸出(警示someLogFile。有沒有辦法做到這一點?也許它重定向到一個變量,然後回顯到一個文件? 感謝。
有沒有辦法來重定向$(警告)或$(INFO)語句文件
這裏是一個爲GNU製作,但它並不漂亮:
的Makefile
LOG := log.txt
TARGET_ACQUIRED = \
$(shell echo 'NO_SUCH_TARGET:' | $(MAKE) --eval='$$(info Target acquired: [email protected])' -s -f - >> $(LOG))
target_a: target_b
$(TARGET_ACQUIRED)
touch [email protected]
target_b:
$(TARGET_ACQUIRED)
touch [email protected]
clean:
rm -f target_* $(LOG)
與您會得到:
$ make
touch target_b
touch target_a
$ cat log.txt
Target acquired: target_b...
Target acquired: target_a...
要理解這個詭計,看GNU make commandline options。
如果你想要調試一個makefile,你可能會用 的GNU Make的--debug
選項,在同一個地方記錄下來。