makefile 可以实现自动化构建代码工程
首先 来认识一下make makefile
我们首先编写一个简单的makefile文件
我们使用make
命令来执行
然后我们就成果得到了可执行程序mytest
,并可以成功执行。
再通过使用make clean
命令 可以成功删除清理mytest
.
我们先以前两行讲解:
TAB
进行开头,不能使用4个空格make
命令会读取makefile的内容,完成编译/清理工作。这里 发现 连续两次make 不能成功,但是加上.PHONY 或 源代码更新就可以。 6. .PHONY : XXX 修饰 XXX表示总是被执行(不断make就可以实现了)
通过一个故事理解:
月末了,在上大学的小明没有钱了,所以他拨通了那个男人的电话说:爸! 我是你儿子。 这就是表明依赖关系
而此时在爸爸这边只听到了爸! 我是你儿子
,爸爸非常不理解,你是我儿子咋了?爸爸并不知道小明的需求。所以只表明依赖关系是不够的。
小明也认识到了这点,他再次打了回去:爸! 我是你儿子。我没钱了,给我打点钱。
此时前一句 是表明依赖关系,后一句表明依赖方法,完整表达了意思。
只有源代码的“修改时间” 比 可执行程序 的“修改时间”新 ,才会重新编译。
$@ 表明 目标文件
$^ 表明 依赖文件列表
$< 代表第一个依赖文件
类似C语言的宏定义,make 时会自动替换
这样可以递归实现编译的全过程。层层嵌套
使用变量: