我需要添加一些功能到非常複雜,多層的makefile(大量的包含文件,大量的目標,大量的變量),這是由別人寫的,當然不再是與公司合作。這裏有些人瞭解一些,但不是全部。是否有Make調試器?我需要找出別人的makefile
是否有一個調試器,我可以單步執行它,或者通過編譯流經的許多文件和目標執行一些等效的方法來執行執行?或者還有其他方法來處理這件事情的工作方式嗎?
我需要添加一些功能到非常複雜,多層的makefile(大量的包含文件,大量的目標,大量的變量),這是由別人寫的,當然不再是與公司合作。這裏有些人瞭解一些,但不是全部。是否有Make調試器?我需要找出別人的makefile
是否有一個調試器,我可以單步執行它,或者通過編譯流經的許多文件和目標執行一些等效的方法來執行執行?或者還有其他方法來處理這件事情的工作方式嗎?
GNU make有various options打印輸出一些調試信息運行時。 -d
會打印出大量的調試信息;也許太多了,也許不是你所需要的,但你可以嘗試對此進行篩選。還有一些選項,如-n
用於執行空運行,-p
用於打印規則數據庫,-w
用於打印出您處於哪個目錄以幫助跟蹤複雜遞歸製作中的問題,以及--warn-undefined-variables
用於跟蹤變量的某些問題。
如果這些都不起作用,您可能需要嘗試Remake,它聲稱是使用調試器修補的GNU make。我沒有使用它,但是從documentation開始,它看起來可能會幫助你,並且在嘗試追蹤Makefiles中的錯誤時有更多的建議。
你可能想看看這篇文章http://oreilly.com/catalog/make3/book/ch12.pdf(從奧賴利的一章「調試makefile」「有管理項目GNU製作,第三版」)