自动化构建-make/Makefile
前言会写makefile是一个很重要的能力makefile的作用自动化构建项目基本使用文件内容myproc:myproc.cc g-o$$^ .PHONY:clean clean:rm-rfmyproc这是最基本的使用发现1.在make之后如果你不修改文件那么系统就不让你make了2.但是make clean 可以一直使用解释这个其实是因为.PHONY:clean有了这个意思就是告诉系统忽略对比新旧文件时间问题进一步解释在linux中文件 内容属性然后系统中会存三个东西Access就是最近你访问的文件的时间但是这个可能你要累计访问好几次才会涉及一次修改Modify你对文件内容的修改就会触发Change文件属性修改就会触发系统就会对比时间线主要是看Modify其它可能不准myproc.cc在myproc后面的时间线话就make 不了在前面就可以。拓展语法1.$() 引用变量变量名值# 定义变量不用 $()$(变量名)# 使用变量要用 $()$(shell 命令)# 调用 make 函数也用 $()2.函数 集体调用shell ls *.cc --shell命令行方式wildcard *.cc --makefile自带3.$ $^$ : 表示你所要生成地目标文件$^源文件4.g -o $ $^这个加了之后就会去除打印在命令行上就看不到了不回显命令5.$对展开的以来.cc文件/一个一个的交给g解剖对于myproc:myproc.o gcc myproc.o-omyproc myproc.o:myproc.s gcc-cmyproc.s-omyproc.o myproc.s:myproc.i gcc-Smyproc.i-omyproc.s myproc.i:myproc.c