2010-08-01 89 views

回答

2

一個Makefile是用來編譯和鏈接(是的,你可以將它用於其他目的編制外)一個批處理命令的文件,尤其是用在有特殊的編譯器選項需要,或者在程序要求編譯許多文件(有時是數千個),其中手動編譯很困難。在後一種情況下,Makefiles本身通常是由計算機生成的。

Makefile文件通常被稱爲「生成文件」因爲這是三個名字make搜索該之一。如果您使用其他名稱,則必須手動將其指定爲make,否則編譯將不會發生。

Makefiles不是特定於C++;他們可以用來編譯任何語言的程序。

生成文件的基本結構:

all: makeTarget2 
    gcc -o /usr/local/bin/myprogram myprogram.c 
makeTarget1: 
    something else 
    more commands 
makeTarget2: 
    something else 
    more commands

甲生成文件總是具有標記爲all目標,其中,當用戶運行make沒有make目標運行。同一行上的標籤之後的單詞是在該標籤正文運行之前運行的其他製作目標(因爲它依賴於)。

命令跟隨在後面的行標籤使用標籤前綴字符(「U + 0009字符製表」只是 - !沒有空格)。

其他使目標,不叫「所有」,繼續以同樣的方式。人們會通過運行make makeTargetName或通過依賴關係(例如all取決於makeTarget2)來調用這些make目標。

1

您創建一個makefile以自動執行應用程序的編譯和鏈接過程。

This鏈接解釋如何做到這一點。