文中所使用的Linux版本是:Ubuntu
01 make工具和makefile的引入
當源碼文件比較多的時候不適合通過直接輸入gcc來編譯,需要一個自動化編譯的工具
make工具的工作包括:
1.如果只修改了某幾個源文件,則只編譯這幾個源文件
2.如果某個頭文件被更改了,則重新編譯所有包含該頭文件的源文件
make工具主要用于完成自動化編譯,make編譯時需要makefile文件提供編譯文件
02 Vim編輯器操作Makefile
配置Vim編輯器
sudo vi /etc/vim/vimrc
set ts=4——設置Tab鍵為4個字節
set nu——每行的開頭顯示行號
(在最下面添加上面兩個語句)

使用步驟
(1)六 制作文件
②編輯以下代碼:
規則格式:
目標... :依賴文件集合...
命令1
命令2
....

(每條命令必須以Tab開始,不能使用空格)
③輸入指令make
④最后輸入指令make clean 可以清楚所有的.o文件

03Makefile基本語法
makefile變量的使用
objects = main.o input.o calcu.o
主:$(對象)
GCC -o main $(對象)

賦值“=”
名稱 = 管理員1
當前 =$(名稱)
名稱 = 管理員
打印:
@echo 當前:$(當前)
這里打印的值時admin,而不是admin1,因為打印的是最終變量的值


賦值“:=”
名稱 = 管理員1
當前 :=$(名稱)
名稱 = 管理員
打印:
@echo 當前:$(當前)
這里打印的值時admin1,而不是admin。 這就是和“=”的區別


賦值“? =”
當前 ?=你好
打印:
@echo 當前:$(當前)
//這里打印hello
當前:=管理員
當前?=你好
打印:
@echo 當前:$(當前)
//這里打印的值時admin1,而不是admin。 這就是和“=”的區別


自動化變量
@,%,<,?,^,+,$*
最常用的三個變量:@,<,$^
功能表:



偽目標
偽目標不代表真正的目標名,一般的目標名都是要生成文件,而偽目標不代表真正的目標名,在執行make命令時通過指定這個偽目標來執行其所在規則定義的命令
如果在工作目錄下有相同的文件時,需要聲明偽目標,例如. PHONY:XXX
-
Linux
+關注
關注
88文章
11758瀏覽量
219004 -
VIM
+關注
關注
0文章
137瀏覽量
16185 -
編譯
+關注
關注
0文章
694瀏覽量
35155 -
編輯器
+關注
關注
1文章
828瀏覽量
32895 -
Makefile
+關注
關注
1文章
125瀏覽量
20337
發布評論請先 登錄
Linux Makefile通用模板詳解
基于Linux 2.6內核Makefile分析
Linux Makefile的基本使用
評論