編寫乙個makefile的簡單例項

2022-01-19 04:57:16 字數 1644 閱讀 2851

說明:執行的環境ubuntu 12.04 + gcc

#include "my1.h"

#include "my2.h"

int main()

#ifndef _my_1_h

#define _my_1_h

void my1_print(char *print_str);

#endif

#ifndef _my_2_h

#define _my_2_h

void my2_print(char *print);

#endif

#include "my1.h"

#include void my1_print(char *print_str)

#include "my2.h"

#include void my2_print(char *print_str)

main:main.o my1.o my2.o

gcc -o main main.o my1.o my2.o

main.o:main.c my1.h my2.h

gcc -c main.c

my1.o:my1.c my1.h

gcc -c my1.c

my2.o:my2.c my2.h

gcc -c my2.c

clean:

rm -f *.o main

make
gcc -c main.c

gcc -c my1.c

gcc -c my2.c

gcc -o main main.o my1.o my2.o

file ./main
輸出的結果為:

./main: elf 32-bit lsb executable, intel 80386, version 1 (sysv), dynamically linked (uses shared libs), for gnu/linux 2.6.24, buildid[sha1]=0x2c63c471957d709e4d5a19c75c7eda60cfb2f3e2, not stripped

./main
輸出的結果為:

this is my2 print hello my1!

this is my2 print hello my2!

維基百科介紹:

在軟體開發中,make是乙個工具程式(utility software),經由讀取叫做「makefile」的檔案,自動化建構軟體。它是一種轉化檔案形式的工具,轉換的目標稱為「target」;與此同時,它也檢查檔案的依賴關係,如果需要的話,它會呼叫一些外部軟體來完成任務。它的依賴關係檢查系統非常簡單,主要根據依賴檔案的修改時間進行判斷。大多數情況下,它被用來編譯源**,生成結果**,然後把結果**連線起來生成可執行檔案或者庫檔案。它使用叫做「makefile」的檔案來確定乙個target檔案的依賴關係,然後把生成這個target的相關命令傳給shell去執行。

乙個簡單的makefile的編寫

標頭檔案 part.h cpp檔案 包含part.h part.cpp cpp檔案 包含part.h partmain.cpp makefile編寫如下 main partmain.o part.o g o main partmain.o part.o partmain.o partmain.cpp...

編寫乙個簡單通用的makefile

author 李超 date 2012 05 06 縱然makefile 的規則還是相當多的,編寫乙個大規模的軟體,良好的 makefile 架構是方便維護程式編譯的關鍵。學習 makefile 的時間週期還是比較長的,為了寫出規範的 需要在很短的時間內編寫乙個 makefile 這裡給給出乙個 m...

編寫乙個makefile

什麼是makefile?對於大多數的windows程式設計師來講,makefile可能不是那麼重要,因為windows的ide都為程式設計師做好了這個工作。但是在linux下程式設計,會不會寫makefile,從側面上說明乙個人是否具備完成大型工程的能力。makefile的作用 makefile是用...