我在Linux上的生成過程有一個小問題。「乾淨」的規則不存在於Makefile中,但乾淨的東西生產反正
無論我的代碼中有什麼原因,如果我發出「make clean」,Linux會產生一個名爲「clean」的文件。問題是我的項目的makefile沒有「乾淨的」部分。
看起來我的make是從某個地方拾取錯誤的Makefile,這可能與我的項目的Makefile衝突。
有無論如何知道哪些makefile被擡頭?
我在Linux上的生成過程有一個小問題。「乾淨」的規則不存在於Makefile中,但乾淨的東西生產反正
無論我的代碼中有什麼原因,如果我發出「make clean」,Linux會產生一個名爲「clean」的文件。問題是我的項目的makefile沒有「乾淨的」部分。
看起來我的make是從某個地方拾取錯誤的Makefile,這可能與我的項目的Makefile衝突。
有無論如何知道哪些makefile被擡頭?
我建議使用remake來調試你的makefile。安裝它然後運行remake -x
甚至remake -x -d
。 (remake
實用程序是GNU make
的幾乎兼容的變體)。
就你而言,缺少虛假clean
目標會使make
實用程序創建一個名爲clean
的空文件。
生成文件幾乎不是「Linux」,它是make程序或make開始的一些程序。而且,當你沒有顯示任何代碼,即不顯示你的Makefile時,很難提供幫助。 – unwind
當你運行'make clean'時,什麼命令會執行?這個文件中有什麼叫做clean?例如,它是從'clean.c'生成的可執行文件嗎? –
@SteveJessop:你太棒了!我現在發現有一個shell腳本文件被用作我的makefile的參數!它在我眼前,我沒有發現它。非常感謝。 –