make: *** 没有规则可制作目标“distclean”。 停止。_Makefile伪目标
這一個章節我們主要講的是 Makefile 中的偽目標。所謂的偽目標可以這樣來理解,它并不會創建目標文件,只是想去執行這個目標下面的命令。偽目標的存在可以幫助我們找到命令并執行。使用偽目標有兩點原因:
避免我們的 Makefile 中定義的只執行的命令的目標和工作目錄下的實際文件出現名字沖突。
提高執行 make 時的效率,特別是對于一個大型的工程來說,提高編譯的效率也是我們所必需的。
我們先來看一下第一種情況的使用。如果需要書寫這樣一個規則,規則所定義的命令不是去創建文件,而是通過 make 命令明確指定它來執行一些特定的命令。實例:
clean:
rm -rf *.o test
規則中 rm 命令不是創建文件 clean 的命令,而是執行刪除任務,刪除當前目錄下的所有的 .o 結尾和文件名為 test 的文件。當工作目錄下不存在以 clean 命令的文件時,在 shell 中輸入 make clean 命令,命令 rm -rf *.o test 總會被執行 ,這也是我們期望的結果。 如果當前目錄下存在文件名為 clean 的文件時情況就會不一樣了,當我們在 shell 中執行命令 make clean,由于這個規則沒有依賴文件,所以目標被認為是最新的而不去執行規則所定義的命令。因此命令 rm 將不會被執行。為了解決這個問題,刪除 clean 文件或者是在 Ma
總結
以上是生活随笔為你收集整理的make: *** 没有规则可制作目标“distclean”。 停止。_Makefile伪目标的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何让你快速打开谷歌网盘
- 下一篇: 电路板回收设备分解的金属效果好么?收益大