操做系統make命令與Makefile文件編寫

操做系統make命令及Makefile文件

更深層次地理解請看文章:Linux下編寫 makefile 詳細教程https://www.cnblogs.com/mfryf/p/3305778.html

gcc

  語法:gcc (選項) (參數) 選項: -o:指定生成的輸出文件; -S:將C代碼轉換爲彙編代碼; -wall:顯示警告信息; -c:僅執行編譯操做,不進行鏈接操做; -M:列出依賴。 參數: C源文件:指定C語言源代碼文件。html

  同時編譯多個文件時,咱們只需把多個文件名用空格隔開便可,如 gcc test1.c test2.c -o test .工具

  將testfun.c編譯成testfun.o gcc -c testfun.c 將test.c編譯成test.o gcc -c test.c 將testfun.o和test.o連接成test gcc testfun.o test.o -o testpost

1 gcc test1.c -c test #對.c文件只進行編譯,生成.o文件
2 gcc test.o test1.o -o test1 #將兩個.o文件進行連接

 

 1 CC = gcc
 2 #生成的可執行文件名
 3 EXE = main
 4 #源文件路徑 空格 能夠繼續添如 src src1 src2
 5 SUBDIR = src
 6 #.o文件存放路徑
 7 OBJ = obj
 8 #.d文件存放路徑
 9 DEP = dep
10  
11 #預處理選項(要包含的.h文件的路徑)
12 CPPFLAGS += -I /home/kouwq/Makefile/grokking_algorithms/inc

 

Makefile文件

  咱們可使用make指令執行Makefile文件裏的內容。make 工具會讀取 Makefile 文件,並根據 Makefile 的內容來執行相應的編譯操做。Makefile 相似於你們之前接觸過的 VC 工程文件。只不過不像 VC 那樣有圖形界面,而是直接用相似腳本的方式實現的。ui

  

 1 若是咱們沒有 Makefile,直接動手編譯這個程序,咱們須要下面這樣一個指令
 3 # 直接使用 gcc 編譯 Hello World 程序
 4 $ gcc -o hello_world hello_world.c
 5 那麼,若是咱們想把它寫成 Makefile,咱們應該怎麼辦呢?makefile 最基本的格式是這樣的
 7 target: dependencies
 8 command 1
 9 command 2
10 ...
11 command n
12 其中,target 是咱們構建 (Build) 的目標,而 dependencies 是構建該目標所需的其它文件或其餘目標。以後是構建出該目標所需執行的指令。有一點尤其須要注意:每一
個指令 (command) 以前必須有一個 TAB。這裏必須使用 TAB 而不能是空格,不然make 會報錯。
咱們的簡易的 Makefile 能夠寫成以下的樣子,以後執行 make 便可產生 hello_world這個可執行文件。

all: hello_world.c
  gcc -o hello_world hello_worldurl

相關文章
相關標籤/搜索