[英]makefile to run the code it compiles
如果我有將運行的代碼,則將其稱為main.cpp
,並且可執行文件為r.exe
,然后編寫一個具有以下目標的makefile:
compile:
g++ -std=c++11 main.cpp -o r
可執行文件r.exe
將i.txt
和o.txt
作為兩個參數。 如何將第二個目標添加到makefile中,以便可以運行以下命令,並查看程序的執行情況:
make run i.txt o.txt
我嘗試將第二個目標添加到makefile:
run:
r.exe $1 $2
例如,但make聲明:“'r'是最新的”和“對'i.txt'等不做任何事情,等等。”
我也嘗試過搜索一段時間,但是“ make”,“ run”和“ variables”或“ arguments”從本質上來說是具有無關內容的搜索防火牆。
您不能通過參數來make
類似的操作。 命令make run i.txt o.txt
將嘗試建立規則run
, i.txt
和o.txt
。
相反,您可以使用變量:
run:
r.exe ${ARGS}
make run ARGS="i.txt o.txt"
旁注,規則應使它們聲明的文件生效。 因此,您確實希望您的編譯規則如下所示:
r.exe : main.cpp
g++ -std=c++11 $^ -o $@
compile : r.exe
.PHONY : compile
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.