日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Makefile的伪目标

發布時間:2025/6/17 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Makefile的伪目标 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、Makefile偽目標的格式:

.PHONY : clean
clean:rm xxxx

?

?

?

2、Makefile偽目標的作用:

第一種情況:

如果我們需要書寫這樣的一個規則:規則所定義的命令不是去創建目標文件,而是通過make命令行明確指定它來執行一些特點的命令,就像例題中的clean。當文件夾中沒有clean這個文件的時候,我們輸入“make clean”能按照初衷執行,但是一旦文件夾中出現clean文件,我們再次輸入“make clean”,由于這個規則沒有任何依賴文件,所以目標被認為是最新的而不去執行規則所定義的命令。所以rm命令不會被執行。為了解決問題,我們將目標clean定義成偽目標。

clean:rm xxxx

如果同一個目錄下有一個clean文件,那么 ?make clean的動作將不會執行rm動作;

所以,增加.PHONY偽目標的使用的話,就會忽略目錄下clean這個文件,直接執行rm動作;

?

?

第二種情況:

偽目標的另一種使用場合時在make的并行和遞歸執行過程中。

SUBDIRS=foo bar bazSubdirs:for dir in $(SUBDIRS)do$(MAKE) –C $$dirdone

?

如果這樣寫,會出現幾個問題:

1、 當子目錄執行make出現錯誤,make不會退出;

2、 使用這種shell的循環方式時,沒有用到make對目錄的并行處理功能。

有了偽目標就可以解決上面的兩個問題。

SUBDIRS=foo bar baz.PHONY:subdirs $(SUBDIRS)subdirs: $(SUBDIRS)$(SUBDIRS):$(MAKE) –C $@

其中subdirs模板表示要編譯多個子目錄中的工程。

轉載于:https://www.cnblogs.com/linhaostudy/p/7200629.html

總結

以上是生活随笔為你收集整理的Makefile的伪目标的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。