makefile--回顧基礎篇

前陣子讓寫makefile,糾結了下,基本忘記差很少了。ui

1.gcc的編譯選項spa

-c命令行

只是編譯不連接,生成目標文件「.o」調試

-Sci

只是編譯不彙編,生成彙編代碼get

-E編譯器

只進行預編譯,不作其餘處理編譯

-gtable

在可執行程序中包含標準調試信息class

-o file

把輸出文件輸出到file裏

-v

打印出編譯器內部編譯各過程的命令行信息和編譯器的版本

-I dir

在頭文件的搜索路徑列表中添加dir目錄

-L dir

在庫文件的搜索路徑列表中添加dir目錄

-static

連接靜態庫

-llibrary

鏈接名爲library的庫文件

2.makefile的規則

target...: prerequire...

  command

看到這個就熟悉了

 

3. makefile的文件中有什麼

a)依賴的部分include

b)變量定義

c)顯示規則(你所直觀看到的依賴)

d)隱式規則(偷懶依靠makefile語法省寫的那部分)

e)註釋#

 

4.makefile 的工做步驟:

a)讀取makefile

b)讀include

c)初始化文件中的變量

d)推導隱式規則

e)爲全部目標創建依賴鏈

f)根據依賴鏈,決定生成哪些目標

g) 執行生成命令

 

5.最簡單的demo

target=hellotarget_o=hello.otarget_c=hello.c$(target):$(target_o)        cc  -o $(target) $(target_o)$(target_o):$(target_c)        cc -c $(target) $(target_c)

相關文章
相關標籤/搜索