文中所使用的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
+關注
關注
87文章
11292瀏覽量
209326 -
VIM
+關注
關注
0文章
134瀏覽量
15293 -
編譯
+關注
關注
0文章
657瀏覽量
32852 -
編輯器
+關注
關注
1文章
805瀏覽量
31163 -
Makefile
+關注
關注
1文章
125瀏覽量
19181
發布評論請先 登錄
相關推薦
評論