参考了网上的博客,自己整理了一份并且可以编译通过,也能够正常执行,所以就做了记录。
防止过段时间就又忘记了。
首先先上个还没执行make前的源码树:
源文件都是一个printf 没什么好讲的,主要是makefile。
首先是顶层Makefile的内容;
第1行:设置编译器
第2行:设置所有会生成的目标文件,为了最后一步连接成可执行文件。
第3行:设置顶层Makefile坐在的目录
第4行:设置目标文件存放的目录,待会第二行的那些目标文件,都会保存在这个目录下面
第5行:设置可执行文件存放的目录
第6行:设置可执行文件的名字
第7行:保存所有子目录下的Makefile的路径。只要子目录有makefile存在就在这个地方添加上这个makefile相对顶层Makefile的路径。
第11行:讲1~6行的变量设置成全局变量,在子目录的makefile里面可以直接使用这些变量。
第13行:神奇的