使用makefile編譯c程式

2021-08-27 15:30:36 字數 1124 閱讀 9004

一、makefile的規則

makefile的規則如下:

target ... : prerequisites ...

command

這裡的command是指生成或是處理target隨執行的命令;prerequisites指的是生成target所需要依賴的檔案.

二、乙個示例

自行編寫了2個c檔案(get_max.c,fn_max.c),我們為了完成前面所述的那三個規則,我們的makefile應該是下

面的這個樣子的。

shell = /usr/bin/ksh

link.c = cc

get_max:get_max.o fn_max.o

cc -o get_max get_max.o fn_max.o

get_max.o:get_max.c

cc -c get_max.c

fn_max.o:fn_max.c

cc -c fn_max.c

clean:

rm get_max.o fn_max.o

我們可以把這個內容儲存在檔案為「makefile」或「makefile」的檔案中,然後在該目錄下直接輸入命令「make」

就可以生成執行檔案get_max.。如果要刪除執行檔案和所有的中間目標檔案,那麼,只要簡單地執行一下

「make clean」就可以了。

三、makefile中使用變數

比如,我們宣告乙個變數,叫objects,在makefile一開始就這樣定義:

objects=get_max.o fn_max.o

於是,我們就可以很方便地在我們的makefile中以「$(objects)」的方式來使用這個變數了,於是我們的改良版

makefile就變成下面這個樣子:

shell = /usr/bin/ksh

link.c = cc

objects=get_max.o fn_max.o

get_max:$

cc -g -o get_max $

fn_max.o:fn_max.c

cc -c fn_max.c

clean:

rm $

於是如果有新的 .o 檔案加入,我們只需簡單地修改一下 objects 變數就可以了。

使用makefile編譯C 工程

目錄結構 kexin 外層cmakelists.txt編寫 cmake 最低版本號要求 cmake minimum required version 3.7 fatal error 專案資訊 project kexin include路徑 include directories include 設定...

編譯 makefile使用

本文重在記錄makefile的使用方法,不介紹相關原理。注意 所有的makefile指令前面都需要兩個tab縮排 1.初步使用 建立工作目錄,工作目錄下建立如下兩個檔案 main.c include int main makefile 或 makefilemain.o main.c cc c mai...

C編譯 makefile基礎

在編譯乙個大型專案的時候,往往有很多目標檔案 庫檔案 標頭檔案以及最終的可執行檔案。不同的檔案之間存在依賴關係 dependency 比如當我們使用下面命令編譯時 gcc c o test.o test.c gcc o helloworld test.o 可執行檔案helloworld依賴於test...