我有一個輸出東西 - 數字 - 到stdout的程序。只抑制實際的make命令和最終的打印語句
該程序將在自動平地機make run input.txt 0.87 > output_file
(這是一個分配)運行。該程序必須以這種方式運行(儘管對於make文件來說不可能)。
但是,我得到了它的所以這裏問題上的幫助工作。這是我的makefile:
pr.exe : main.cpp
g++ -std=c++11 $^ -o [email protected]
run:
@./pr.exe $(filter-out [email protected],$(MAKECMDGOALS))
%:
@:
compile : pr.exe
.PHONY : compile
只是有一個問題:命令make run input.txt 0.87
輸出,除了節目輸出,最後一行:
make: 'input.txt' is up to date.
如何抑制這一行在我的make文件中,只有程序輸出被重定向到文件中?
它必須與僅正常運行下面的命令(沒有進行申辯,虛無縹緲):
make run input.txt 0.87 > some_output_file.txt
這聽起來像是[XY問題](http://xyproblem.info/)的一個實例。例如,[GNU make手冊](https://www.gnu.org/software/make/manual/make.html)本身就說「MAKECMDGOALS'只能在特殊情況下使用」。 –
@DanielKamilKozar還是你說這些輸入可以通過其他方式傳遞給makefile? – bordeo
@DanielKamilKozar right:autograder已經寫入了這個特殊的命令:'make run input1 input2'(這就是爲什麼它是這樣) – bordeo