makefile是一個文本形式的數據庫文件,其中包含一些規則告訴make編譯哪些文件,怎樣編譯以及在什么條件下去編譯.每條規則包含以下內容:
.一個"目標體"(target),即make最終需要創建的東西.
.包含一個或多個"依賴體"(dependency)的列表,依賴體通常是編譯目標體需要的其他文件.
.為了從指定的依賴體創建出目標體所需執行的"命令"(command)的列表.
雖然目標體通常是程序,但它們可以是諸如文本文件,手冊頁面等任何東西.目標體甚至能測試和設置環境變量.類似地,也可以定義依賴體以確保編譯開始前存在
某個特殊的環境變量.最后,makefile中的命令可以是編譯器的命令或shell命令,它們能設置環境變量,刪除文件,或者任何命令行所能完成的功
能,如從FTP站點下載文件等.GNU
make被調用后會順序查找名為GNUmakefile,makefile或Makefile的文件.出于某種原因,可能只是習慣和長期形成的約定吧,大
多數Linux程序員使用最后一種形式Makefile.
Makefile規則有下列通用形式:
target
: dependency [dependency [...]]
command
command
[...]