linux下源码的自动化编译使用make,如果只是C文件使用make反而麻烦,但是多个c文件编译成可执行文件首先使用gcc一个一个文件编译,最后把目标文件链接。而这样的工作需要不停的重复。引入make是为了自动化编译。但这不属于编译器的部分,至少gcc是这么做,vc是集成环境,包含了make的功能。linux下使用的编译器和make工具都是gnu项目的。c shell make都使用一定的字符组成特定的功能,进行翻译。c是编译语言,shell和mak是脚本语言。make是一种最简单的脚本语言。就像自己定义字符的意义,固定读取格式,当读到制定的语法,就执行指定的函数,理论上就是这么简单的。
make工具定义了一下的语法:
关键字:ifeq ifdef endif endef
内建函数:wildward函数,shell函数。
make工具的目的是为了自动化的编译:侧重文件读取,名字修改等。
总结:make就是对解析字符串,执行对应的函数。