[英]How to pass argument to target in makefile?
我想通過傳遞要刪除的二進制文件來清理我的目錄。 在我的目錄中是這些文件:
foo.c foo.o foo
我想刪除foo.o
和foo
。 現在在我的 makefile 中,我有這個:
clean:
rm *.o
rm [...] #the [...] should be the argument
所以我想運行make clean foo
,這里的foo
將是傳遞給clean
目標的參數。 我讀的地方,正確的方法應該是簡單地讓vairable $(BINARIES)
的makefile文件里面,並使用該變量rm
命令,但后來我想每次我想編譯的另一個二進制時間要編輯的變量。 所以相反,我想將該二進制文件作為參數傳遞給clean
目標。 怎么做? (而且,我不想執行make喜歡make ARGS=foo clean
,這是太長了,我想要的是3個字。1)請,2)目標,3))的說法。
GNU Make 的概要是make [OPTION]... [TARGET]...
,所以我懷疑你唯一的選擇是
查找或實現一些其他的make
可執行文件來實現你想要的概要,
使用make ARGS=foo clean
語法,或
使用像模式規則這樣的黑客:
clean-%: echo $(@:clean-%=%)
使用make clean-foo
調用它,它去除“clean-”前綴並打印“foo”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.