freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

linuxmake使用手冊(cè)-資料下載頁(yè)

2025-06-29 08:02本頁(yè)面
  

【正文】 執(zhí)行它命令,和目錄下是否存在該文件以及它最后一次更新的時(shí)間沒有關(guān)系。詳細(xì)內(nèi)容參閱假想目標(biāo)。l .SUFFIXES。詳細(xì)內(nèi)容參閱過時(shí)的后綴規(guī)則。l .DEFAULT.DEFAULT指定一些命令,這些命令用于那些沒有找到規(guī)則(具體規(guī)則或隱含規(guī)則)更新的目標(biāo)。詳細(xì)內(nèi)容參閱定義最新類型的缺省規(guī)則。,則所有提及到的文件只能作為依賴,而不能作為任何規(guī)則的目標(biāo);這些指定的命令也只按照他們自己的方式執(zhí)行。詳細(xì)內(nèi)容參閱隱含規(guī)則搜尋算法。l .PRECIOUS:如果在執(zhí)行這些目標(biāo)的命令的過程中,make被關(guān)閉或中斷,這些目標(biāo)不能被刪除,詳細(xì)內(nèi)容參閱關(guān)閉和中斷make;如果目標(biāo)是中間文件,即使它已經(jīng)沒有任何用途也不能被刪除,具體情況和該目標(biāo)正常完成一樣,參閱隱含規(guī)則鏈;。如果規(guī)則的目標(biāo)格式與依賴的文件名匹配,您可以使用隱含規(guī)則的格式(如‘%.O’)。l .INTERMEDIATE。詳細(xì)內(nèi)容參見隱含規(guī)則鏈。.INTERMEDIATE如果沒有依賴文件,它將不會(huì)發(fā)生作用。l .SECONDARY,但它們永遠(yuǎn)不能自動(dòng)刪除。詳細(xì)內(nèi)容參見隱含規(guī)則鏈。.SECONDARY如果沒有依賴文件,則所有的makefile文件中的目標(biāo)都將被處理為中間文件。l .DELETE_ON_ERROR,則如果該規(guī)則發(fā)生變化或它的命令沒有正確完成而退出,make將會(huì)刪除該規(guī)則的目標(biāo),具體行為和它受到了刪除信號(hào)一樣。詳細(xì)內(nèi)容參閱命令錯(cuò)誤。l .IGNORE,則MAKE將會(huì)忽略處理這些依賴文件時(shí)執(zhí)行命令產(chǎn)生的錯(cuò)誤。,MAKE將忽略處理所有文件時(shí)產(chǎn)生的錯(cuò)誤。.IGNORE命令并沒有特別的含義,.IGNORE的用途僅是為了和早期版本的兼容。,所以它的用途不大;我們推薦您使用其它方法來忽略特定命令產(chǎn)生的錯(cuò)誤。詳細(xì)內(nèi)容參閱命令錯(cuò)誤。l .SILENT,則在執(zhí)行之前MAKE將不會(huì)回顯重新構(gòu)造文件的命令。,任何命令在執(zhí)行之前都不會(huì)打印。.SILENT并沒有特別的含義,其用途僅是為了和早期版本的兼容。我們推薦您使用其它方法來處理那些不打印的命令。詳細(xì)內(nèi)容參閱命令回顯。如果您希望所有的命令都不打印,請(qǐng)使用‘s’或‘silent’選項(xiàng)(詳細(xì)參閱選項(xiàng)概要)。l .EXPORT_ALL_VARIABLES如該特殊目標(biāo)簡(jiǎn)單的作為一個(gè)目標(biāo)被提及,MAKE將缺省地把所有變量都傳遞到子進(jìn)程中。參閱使與子MAKE通信的變量。l .NOTPARALLEL,即使給出‘j’選項(xiàng),make也不使用并行執(zhí)行。但遞歸調(diào)用的make命令仍可并行執(zhí)行()。.NOTPARALLEL的任何依賴都將忽略。任何定義的隱含規(guī)則后綴如果作為目標(biāo)出現(xiàn)都會(huì)視為一個(gè)特殊規(guī)則,即使兩個(gè)后綴串聯(lián)起來也是如此,例如‘.’。這些目標(biāo)稱為后綴規(guī)則,這種定義方法是過時(shí)的定義隱含規(guī)則的方法(目前仍然廣泛使用的方法)。原則上,如果您要把它分為兩個(gè)并把它們加到后綴列表中,任何目標(biāo)名都可采用這種方法指定。實(shí)際上,后綴一般以‘.’開始,因此,這些特別的目標(biāo)同樣以‘.’開始。具體參閱過時(shí)的后綴規(guī)則。 具有多個(gè)目標(biāo)的規(guī)則具有多個(gè)目標(biāo)的規(guī)則等同于寫多條規(guī)則,這些規(guī)則除了目標(biāo)不同之外,其余部分完全相同。相同的命令應(yīng)用于所有目標(biāo),但命令執(zhí)行的結(jié)果可能有所差異,因此您可以在命令中使用‘$@’分配不同的實(shí)際目標(biāo)名稱。這條規(guī)則同樣意味著所有的目標(biāo)有相同的依賴。在以下兩種情況下具有多個(gè)目標(biāo)的規(guī)則相當(dāng)有用:l 您僅僅需要依賴,但不需要任何命令。例如: : 為三個(gè)提及的目標(biāo)文件給出附加的共同依賴。l 所有的目標(biāo)使用相同的命令。但命令的執(zhí)行結(jié)果未必完全相同,因?yàn)樽詣?dòng)變量‘$@’可以在重建時(shí)指定目標(biāo)(參閱自動(dòng)變量)。例如:bigoutput littleoutput : generate $(subst output,$@) $@等同于:bigoutput : generate big bigoutputlittleoutput : generate little littleoutput這里我們假設(shè)程序可以產(chǎn)生兩種輸出文件類型:一種給出‘big’,另一種給出‘little’。參閱字符串代替和分析函數(shù),對(duì)函數(shù)subst的解釋。如果您喜歡根據(jù)目標(biāo)變換依賴,象使用變量‘$@’變換命令一樣。您不必使用具有多個(gè)目標(biāo)的規(guī)則,您可以使用靜態(tài)格式規(guī)則。詳細(xì)內(nèi)容見下文。 具有多條規(guī)則的目標(biāo)一個(gè)目標(biāo)文件可以有多個(gè)規(guī)則。在所有規(guī)則中提及的依賴都將融合在一個(gè)該目標(biāo)的依賴列表中。如果該目標(biāo)比任何一個(gè)依賴‘舊’,所有的命令將執(zhí)行重建該目標(biāo)。但如果一條以上的規(guī)則對(duì)同一文件給出多條命令,make將使用最后給出的規(guī)則,同時(shí)打印錯(cuò)誤信息。(作為特例,如果文件名以點(diǎn)‘.’開始,不打印出錯(cuò)信息。這種古怪的行為僅僅是為了和其它版本的make兼容)。您沒有必要這樣編寫您的makefile文件,這正是make給您發(fā)出錯(cuò)誤信息的原因。一條特別的依賴規(guī)則可以用來立即給多條目標(biāo)文件提供一些額外的依賴。例如,使用名為‘objects’的變量,該變量包含系統(tǒng)產(chǎn)生的所有輸出文件列表。如果‘’發(fā)生變化所有的輸出文件必須重新編譯,可以采用下列簡(jiǎn)單的方法編寫:objects = : : $(objects) : 這些可以自由插入或取出而不影響實(shí)際指定的目標(biāo)文件生成規(guī)則,如果您希望斷斷續(xù)續(xù)的為目標(biāo)添加依賴,這是非常方便的方法。另外一個(gè)添加依賴的方法是定義一個(gè)變量,并將該變量作為make命令的參數(shù)使用。詳細(xì)內(nèi)容參閱變量重載。例如:extradeps=$(objects) : $(extradeps)命令`make extradeps=39。含義是將‘’作為所有OBJ文件的依賴,如果僅僅輸入‘make’命令則不是這樣。如果沒有具體的規(guī)則為目標(biāo)的生成指定命令,那么make將搜尋合適的隱含規(guī)則進(jìn)而確定一些命令來完成生成或重建目標(biāo)。詳細(xì)內(nèi)容參閱使用隱含規(guī)則。 靜態(tài)格式規(guī)則靜態(tài)格式規(guī)則是指定多個(gè)目標(biāo)并能夠根據(jù)每個(gè)目標(biāo)名構(gòu)造對(duì)應(yīng)的依賴名的規(guī)則。靜態(tài)格式規(guī)則在用于多個(gè)目標(biāo)時(shí)比平常的規(guī)則更常用,因?yàn)槟繕?biāo)可以不必有完全相同的依賴;也就是說,這些目標(biāo)的依賴必須類似,但不必完全相同。 靜態(tài)格式規(guī)則的語(yǔ)法這里是靜態(tài)格式規(guī)則的語(yǔ)法格式:targets ...: targetpattern: deppatterns ... mands ...目標(biāo)列表指明該規(guī)則應(yīng)用的目標(biāo)。目標(biāo)可以含有通配符,具體使用和平常的目標(biāo)規(guī)則基本一樣(參閱在文件名中使用通配符)。目標(biāo)的格式和依賴的格式是說明如何計(jì)算每個(gè)目標(biāo)依賴的方法。從匹配目標(biāo)格式的目標(biāo)名中依據(jù)格式抽取部分字符串,這部分字符串稱為徑。將徑分配到每一個(gè)依賴格式中產(chǎn)生依賴名。每一個(gè)格式通常包含字符‘%’。目標(biāo)格式匹配目標(biāo)時(shí),‘%’可以匹配目標(biāo)名中的任何字符串;這部分匹配的字符串稱為徑;剩下的部分必須完全相同。如目標(biāo)‘’匹配格式‘%.o’,字符串‘foo’稱為徑。而目標(biāo)‘’和‘’不匹配格式。每個(gè)目標(biāo)的依賴名是使用徑代替各個(gè)依賴中的‘%’產(chǎn)生。如,如果一個(gè)依賴格式為‘%.c’,把徑‘foo’代替依賴格式中的‘%’生成依賴的文件名‘’。在依賴格式中不包含‘%’也是合法的,此時(shí)對(duì)所有目標(biāo)來說,依賴是相同的。在格式規(guī)則中字符‘%’可以用前面加反斜杠‘\’方法引用。引用‘%’的反斜杠也可以由更多的反斜杠引用。引用‘%’、‘\’的反斜杠在和文件名比較或由徑代替它之前從格式中移走。反斜杠不會(huì)因?yàn)橐谩?’而混亂。如,格式`the\%weird\\%pattern\\39。是`the%weird\39。 加上字符‘%39。,后面再和字符串 ‘pattern\\39。連接。最后的兩個(gè)反斜杠由于不能影響任何統(tǒng)配符‘%’所以保持不變。這里有一個(gè)例子,它將對(duì)應(yīng)的‘.c’文件編譯成‘’和‘’。objects = all: $(objects)$(objects): %.o: %.c $(CC) c $(CFLAGS) $ o $@這里‘$’是自動(dòng)變量,控制依賴的名稱,‘$@’也是自動(dòng)變量,掌握目標(biāo)的名稱。詳細(xì)內(nèi)容參閱自動(dòng)變量。每一個(gè)指定目標(biāo)必須和目標(biāo)格式匹配,如果不符則產(chǎn)生警告。如果您有一列文件,僅有其中的一部分和格式匹配,您可以使用filter函數(shù)把不符合的文件移走(參閱字符串替代和分析函數(shù)):files = $(filter %.o,$(files)): %.o: %.c $(CC) c $(CFLAGS) $ o $@$(filter %.elc,$(files)): %.elc: %.el emacs f batchbytepile $在這個(gè)例子中,‘$(filter %.o,$(files))39。的結(jié)果是‘ 39。,第一個(gè)靜態(tài)格式規(guī)則是將相應(yīng)的C語(yǔ)言源文件編譯更新為OBJ文件,‘$(filter %.elc,$(files))39。 的結(jié)果是‘39。,它由‘’構(gòu)造。另一個(gè)例子是闡明怎樣在靜態(tài)格式規(guī)則中使用‘$*’:bigoutput littleoutput : %output : generate $* $@當(dāng)命令generate執(zhí)行時(shí),$*擴(kuò)展為徑,即‘big’或‘little’二者之一。靜態(tài)格式規(guī)則和定義為格式規(guī)則的隱含規(guī)則有很多相同的地方(詳細(xì)參閱定義與重新定義格式規(guī)則)。雙方都有對(duì)目標(biāo)的格式和構(gòu)造依賴名稱的格式,差異是make使用它們的時(shí)機(jī)不同。隱含規(guī)則可以應(yīng)用于任何于它匹配的目標(biāo),但它僅僅是在目標(biāo)沒有具體規(guī)則指定命令以及依賴可以被搜尋到的情況下應(yīng)用。如果有多條隱含規(guī)則適合,僅有執(zhí)行其中一條規(guī)則,選擇依據(jù)隱含規(guī)則的定義次序。相反,靜態(tài)格式規(guī)則用于在規(guī)則中指明的目標(biāo)。它不能應(yīng)用于其它任何目標(biāo),并且它的使用方式對(duì)于各個(gè)目標(biāo)是固定不變的。如果使用兩個(gè)帶有命令的規(guī)則發(fā)生沖突,則是錯(cuò)誤。靜態(tài)格式規(guī)則因?yàn)槿缦略蚩赡鼙入[含規(guī)則更好:l 對(duì)一些文件名不能按句法分類的但可以給出列表的文件,使用靜態(tài)格式規(guī)則可以重載隱含規(guī)則鏈。l 如果不能精確確定使用的路徑,您不能確定一些無(wú)關(guān)緊要的文件是否導(dǎo)致make使用錯(cuò)誤的隱含規(guī)則(因?yàn)殡[含規(guī)則的選擇根據(jù)其定義次序)。使用靜態(tài)格式規(guī)則則沒有這些不確定因素:每一條規(guī)則都精確的用于指定的目標(biāo)上。雙冒號(hào)規(guī)則是在目標(biāo)名后使用‘::’代替‘:’的規(guī)則。當(dāng)同一個(gè)目標(biāo)在一條以上的規(guī)則中出現(xiàn)時(shí),雙冒號(hào)規(guī)則和平常的規(guī)則處理有所差異。當(dāng)一目標(biāo)在多條規(guī)則中出現(xiàn)時(shí),所有的規(guī)則必須是同一類型:要么都是雙冒號(hào)規(guī)則,要么都是普通規(guī)則。如果他們都是雙冒號(hào)規(guī)則,則它們之間都是相互獨(dú)立的。如果目標(biāo)比一個(gè)雙冒號(hào)規(guī)則的依賴‘舊’,則該雙冒號(hào)規(guī)則的命令將執(zhí)行。這可導(dǎo)致具有同一目標(biāo)雙冒號(hào)規(guī)則全部或部分執(zhí)行。雙冒號(hào)規(guī)則實(shí)際就是將具有相同目標(biāo)的多條規(guī)則相互分離,每一條雙冒號(hào)規(guī)則都獨(dú)立的運(yùn)行,就像這些規(guī)則的目標(biāo)不同一樣。對(duì)于一個(gè)目標(biāo)的雙冒號(hào)規(guī)則按照它們?cè)趍akefile文件中出現(xiàn)的順序執(zhí)行。然而雙冒號(hào)規(guī)則真正有意義的場(chǎng)合是雙冒號(hào)規(guī)則和執(zhí)行順序無(wú)關(guān)的場(chǎng)合。雙冒號(hào)規(guī)則有點(diǎn)模糊難以理解,它僅僅提供了一種在特定情況下根據(jù)引起更新的依賴文件不同,而采用不同方式更新目標(biāo)的機(jī)制。實(shí)際應(yīng)用雙冒號(hào)規(guī)則的情況非常罕見。每一個(gè)雙冒號(hào)規(guī)則都應(yīng)該指定命令,如果沒有指定命令,則會(huì)使用隱含規(guī)則。詳細(xì)內(nèi)容參閱使用隱含規(guī)則。 自動(dòng)生成依賴在為一個(gè)程序編寫的makefile文件中,常常需要寫許多僅僅是說明一些OBJ文件依靠頭文件的規(guī)則。例如,如果‘’通過一條include語(yǔ)句使用‘’,您需要寫入下的規(guī)則:: 您需要這條規(guī)則讓make知道如果‘’一旦改變必須重新構(gòu)造‘’。由此您可以明白對(duì)于一個(gè)較大的程序您需要在makefile文件中寫很多這樣的規(guī)則。而且一旦添加或去掉一條include語(yǔ)句您必須十分小心地更改makefile文件。為避免這種煩惱,現(xiàn)代C編譯器根據(jù)原程序中的include語(yǔ)句可以為您編寫這些規(guī)則。如果需要使用這種功能,通??稍诰幾g源程序時(shí)加入‘M’開關(guān),例如,下面的命令:cc M 產(chǎn)生如下輸出: : 這樣您就不必再親自寫這些規(guī)則,編譯器可以為您完成這些工作。注意,由于在makefile文件中提及構(gòu)造‘’,因此‘’將永遠(yuǎn)不會(huì)被隱含規(guī)則認(rèn)為是中間文件而進(jìn)行搜尋,這同時(shí)意味著make不會(huì)在使用它之后自動(dòng)刪除它;參閱隱含規(guī)則鏈。對(duì)于舊版的make程序,通過一個(gè)請(qǐng)求命令,如‘make depend’,利用編譯器的特點(diǎn)生成依賴是傳統(tǒng)的習(xí)慣。這些命令將產(chǎn)生一個(gè)‘depend’文件,該文件包含所有自動(dòng)生成的依賴;然后makefile文件可以使用include命令將它們讀入(參閱包含其它makefile文件)。在GNU make中,重新構(gòu)造makefile文件的特點(diǎn)使這個(gè)慣例成為了過時(shí)的東西――您永遠(yuǎn)不必具體告訴make重新生成依賴,因?yàn)镚NU make總是重新構(gòu)造任何過時(shí)的makefile文件。參閱Makefile文件的重新生成的過程。我們推薦使用自動(dòng)生成依賴的習(xí)慣是把makefile文件和源程序文件一一對(duì)應(yīng)起來。如,對(duì)每一個(gè)源程序文件‘’有一名為‘’的makefile文件和它對(duì)應(yīng),該makefile文件中列出了名為‘’的OBJ文件所依賴的文件。這種方式的優(yōu)點(diǎn)是僅在源程序文件改變的情況下才有必要重新掃描生成新的依賴。這里有一個(gè)根據(jù)C語(yǔ)言源程序‘’生成名為‘’依賴文件的格式規(guī)則:%.d: %.c set e。 $(CC) M $(CPPFLAGS) $ \ | sed 39。s/\($*\)\.o[ :]*/\ $@ : /g39。 $@。 \ [ s $@ ] || rm f $@關(guān)于定義格式規(guī)則的信息參閱定義與重新定義格式規(guī)則。‘e’開關(guān)是告訴shell如果$(CC)命令運(yùn)行失?。ǚ橇銧顟B(tài)退出)立即退出。正常情況下,shell退出時(shí)帶有最后一個(gè)命
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1