例項學習編寫Makefile

2021-08-26 18:39:19 字數 1478 閱讀 1712

1.test1.c包含主函式main的檔案:

#include int main()

2a../test2/test2.c目錄下子檔案:

#include #include "test2.h"

int test2_func(void)

2b../test2/test2.h :

#define test_num	3

3a../test/test3.c: 目錄下子檔案:

#include "test3.h"

int test3_func(void)

3b../test3/test3.h :

#include #define test_num3 5

現在**已經寫好,我們開始編寫makefile檔案。就像我同事說的,在每個資料夾下編寫乙個makefile,這樣更便於管理。

首先我們編寫子目錄下的makefile:

1. test2 目錄下的makefile檔案 :

cc = gcc

target = test2.o

$(target):

$(cc) -o $(target)

2. test3 目錄下的makefile檔案 :

cc = gcc

target = test3.o

$(target):

$(cc) -o $(target)

3.更目錄下的makefile檔案 :

cc = gcc

target = test

xsysobj = test2/test2.o

xsysobj += test3/test3.o

ok,現在我們的makefile檔案已經寫好,make一下,顯示:

[root@localhost test_makefile]# make

make: warning: file `makefile' has modification time 35 s in the future

gcc -o test test1.o test2/test2.o test3/test3.o

然後我們執行一下:

[root@localhost test_makefile]# ./test

this is test2_func function 3 ...

this is test2_func function 5 ...

嗯,我們的makefile成功啦 。。。

makefile編寫例項

本文記述了乙個簡單的makefile編寫測試例項,第一步很重要,有了這個原始的例子,我們可以走得更遠,也是本人在學完 檔案清單如下 created by sf.kaka 090329 main.c include func1.h include func2.h int main func1.c vo...

makefile編寫學習

參考原帖位址 測試程式如下 main.cpp include print.h int main print.h include include using namespace std void printhello print.cpp include print.h void printhello ...

makefile簡說 編寫makefile

linux下原始碼編譯 linux下原始碼編譯c c 通常使用gnu工具鏈。c c 的編譯過程,通常為原始檔 c cc cpp字尾檔案 編譯為中間目標檔案 即生成為.s o等字尾的中間檔案 再通過鏈結生成可執行檔案 編譯器的編譯過程大致分為四個步驟 預處理 編譯 彙編和鏈結 建立乙個專案檔案proj...