Makefile編寫簡單的C檔案工程

2021-08-21 08:46:09 字數 1278 閱讀 8399

工程包含了hong.c,hong.h兩個檔案

功能:通過make命令編譯(gcc環境下),得到hong.o和main,執行./mian可以看到函式結果

檔案
//標頭檔案包含

#ifndef hong_

#define hong__

void inv(int x,int n);

void in_turn();

#endif

檔案
#include#include"hong.h"

int main()

; printf("the original array:\n");

for(i=0;i<10;i++)

printf("%d ",a[i]);

printf("\n"); //輸出陣列

inv(a,10);

printf("the array has been inverted:\n"); //反過來輸出陣列

for(i=0;i<10;i++)

printf("%d ",a[i]);

printf("\n");

in_turn(); //選擇字母,列印結果

return 0;

} void inv(int x,int n)

return;

}void in_turn()

#makefile  檔案
#main 依賴於hong.o hong.c hong.h

#這裡要是不想生成.o檔案可以將它去掉

main:hong.o hong.c hong.h

#通過編譯鏈結生成可執行檔案./main

gcc hong.c -o main

#hong.o依賴於hong.c hong.h

hong.o:hong.c hong.h

gcc -c hong.c

#gcc -o main main.c

./phony clean:

clean:

rm -rf *.o

注意:makefile的命令列一定要以tab鍵開頭,不然編譯會報錯

簡單編寫makefile

乙個makefile基本的規則 a b tab tab a為目標檔案,b為依賴檔案 可能含有多個 接下來為命令 必須含有tab 操作依賴檔案得到目標檔案 以乙個簡單的示例來演示如何編寫乙個基礎的makefile ifndef file1 h define file1 h ifdef cplusplu...

編寫簡單的makefile

假如有乙個上百個檔案的 構成的專案,如果只是對其中乙個或少數幾個檔案進行了修改,若用gcc編譯工具就不得不把整個專案裡的檔案重新編譯一遍。編譯過程分為編譯 彙編鏈結等階段。其中,編譯階段僅檢查語法錯誤以及函式與變數的宣告是否正確,在鏈結階段則主要完成函式鏈結和全域性變數的鏈結。因此,沒有改動的源 根...

簡單的makefile編寫

cc gcc cflags wall i home coc target sysroots corei7 64 poky linux usr include libxml2 ldflags l home coc target sysroots corei7 64 poky linux usr lib...