dmake工具使用makefile.mk(dmake是openoffice編譯工具)。
下面的部分描述一般的makefile.mk的檔案結構:
- makefile.mk 檔案的一般結構
- 生成的對象檔案和庫
- 生成的資源檔案
- 生成的應用
- 生成的共享庫和動态連結庫
- makefile檔案的内部結構
-
檔案settings.mk
-
檔案target.mk
-
- 設定附加選項
- 額外目标的建立
- Add Targets to
all
- Adding Targets to a Makefile That Include Targets
- Declaring Dependencies Before Adding Targets
- Add Targets to
makefile.mk 檔案的一般結構
makefile檔案一般的結構如下:
|
下面的表格描述在上面中用到的宏:
宏 | 函數描述 |
---|---|
| 此宏描述了現在子產品的根目錄的相對位置 |
| 此宏指定子產品的名稱,此名稱必須是唯一的。 |
| 該宏指定一個辨別符為目前目錄。在子產品内,該名稱必須是唯一的,或者在輸出檔案或者solver樹種檔案名可能會發生沖突。 |
生成對象檔案和庫
下表描述了用于生成對象檔案和庫檔案的宏。這些宏中的x表示在1到9之間的數字。這指定支援多達9個不同的庫。
宏 | 函數描述 |
---|---|
| 你必須設定這個宏來從以下源檔案生成相應的目标檔案:
這個宏確定build過程建立編譯器需要的對象檔案,這些對象檔案在輸出樹的obj或者slo目錄下。在linux,Solaris和Mac OS X下,obj目錄下建立假的.obj檔案和.ofiles檔案。 You can use these targets can be used to compile C and C++ sources found in different locations. See the file for details. 可以使用這些目标檔案用來編譯不同的位置C和C++源代碼。檔案的詳細資訊請參閱rules.mk。 build過程通常從目标檔案的輸出樹的lib子目錄下建立一個庫。庫的名稱是變量$TARGET的值。在linux,Solaris和Mac OS X下,obj目錄下僅建立假的.obj檔案。 |
| 當不想編譯一個庫的時候可以設定此宏。 |
| 可以使用這種格式的多個庫宏編譯庫,這些庫不包含所有對象目錄中的檔案或合并不同的庫。 |
| 設定支援的靜态連結庫,linux,Solaris和 Mac OS X支援此宏。 |
| 指定綁定到連結庫的目标檔案。 |
| 指定連結到連結庫的更多檔案(further files) |
生成的資源檔案
下面的表格描述了用于産生資源檔案的宏,德文語言資源檔案預設編譯。為支援其他的地區,環境變量UPDATER必須設定為YES,同時相應的地區環境變量RES_language也必須設定。
宏名稱中的x代表1--9數字,這說明支援最多9個不同的資源檔案。
宏 | 功能描述 |
---|---|
| |
和 | 可以使用這些宏支援編譯不同的srs檔案。 |
和 | 可以使用這些宏編譯資dll檔案。 |
生成的應用
下表顯示的用于産生應用的宏。
宏 | 功能描述 |
---|---|
| 表示應用的檔案名。應用總是build到輸出樹的bin目錄下。 |
| 表示連結到應用程式的對象檔案。不要用這個宏編譯對象,因為它是不承認的依賴。 |
| 表示連結到應用的輸入庫。這些都是标準庫,例如.a和.so檔案。 |
| 表示從相同的子產品連結到應用的庫。對UNIX,這些為對象檔案的簡單的文本清單,而不是正常的二進制庫。 |
| 表示一個定義檔案,如果在連結時,你使用一個,僅win32中使用。 |
| 表示依賴。 |
| 表示系統資源,僅在win32中。 |
| 表示應用圖示,僅在win32中。 |
生成的共享庫和動态連結庫
下面表格描述用于産生恭喜庫或者動态連結庫(DLLS)的宏。
宏 | 功能描述 |
---|---|
| 表示共享庫的檔案名。 在win32中,共享庫總是編譯為 |
| 提供平台和釋出獨立的應用: 在windows NT上,bla$(UPD)$(DLLPOSTFIX) 在釋出599的時候會生成 bla599mi.dll |
| 指定建立庫的對象檔案。 |
| 導入庫連結 |
| 指定的庫從相同子產品到放到共享庫 |
| 指定的導出符合檔案,僅僅支援win32系統。 |
| 訓示依賴 |
| 使用此宏的系統依賴資源 |
| 指定建立的導入檔案,僅僅支援win32平台。 |
| 指定定義檔案的名稱,通常是一個類似的共享庫的名稱。 |
| 訓示定義檔案依賴。 |
| 指定庫名稱解析的符合,僅僅支援win32平台。 |
| 定義檔案的說明 |
| 符号名稱。y在宏中的範圍為1-99。 |
| 檔案導出的符合。 |
下略,有空繼續翻譯。
原文位址:http://www.openoffice.org/tools/build_env_mkfiles.html