Makefile檔案基本格式

2021-09-27 13:53:18 字數 1152 閱讀 3579

以下是makefile的基本模板:

#指定編譯器

cc = g++

#指定編譯引數

cflags = -std=c++11

#指定標頭檔案路徑,此處用於指定非標準庫的標頭檔案路徑

inc = -i./ -i /usr/include

#指定要鏈結的動態庫或靜態庫 -l是指定動態庫路徑,非標準的動態庫需要此引數

libs = -lm -ldl -l/mylibs/*** -l***

#把上面放一起

cxxflags =$$

$#指定生成可執行檔名稱

exec = a.out

#指定由哪些檔案來生成可執行檔案

objs = ***1.o ***2.o

#make執行動作$:

$$ -o $@ $^

#make clean動作

clean:

rm -rf $

#中間檔案的生成

%.o:%.c

$(cc)

$(cxxflags)

$(inc)

-o $@ -c $<

不生成中間.o檔案的模板(無論修改了幾個原始檔,都全部進行編譯):

#指定編譯器

cc = g++

#指定編譯引數

cflags = -std=c++11

#指定標頭檔案路徑,此處用於指定非標準庫的標頭檔案路徑

inc = -i./ -i /usr/include

#指定要鏈結的動態庫或靜態庫 -l是指定動態庫路徑,非標準的動態庫需要此引數

libs = -lm -ldl -l/mylibs/*** -l***

#把上面放一起

cxxflags =$$

$#指定生成可執行檔名稱

exec = a.out

#指定由哪些檔案來生成可執行檔案

cobjs = ***1.c ***2.c

#make執行動作

all:

$(cc)

-o $(exec)

$(cobjs)

$(cxxflags)

#make clean動作

clean:

rm -rf $

Makefile檔案格式

make的工作主要依賴於乙個叫makefile的檔案。makefile檔案描述了整個程式的編譯 鏈結等規則。targets prerequisites command targets 目標 prerequisites 依賴 command 命令,命令需要使用 tab 鍵空格 例 led.elf le...

makefile格式 實踐一

一直知道makefile是為了讓工程更合理化編譯和輸出 從未在unix下自己寫這個 在windows開發中一直用ide開發,ide自帶 偶而寫寫小東西,也是用bat方式直接編譯。ps bat方式就是自己寫編譯命令 與makefile的區別是前者無 件是否發生改變都編譯,後者是當編譯成功後若檔案未發生...

Makefile基本使用

首先我們先來看乙個示例 c hello.c include using namespace std int main makefile檔案 hello hello.o g hello.o o hello hello.o hello.s g c hello.s o hello.o hello.s he...