做网站好的框架,包头seo排名,上海市住房和城乡建设厅网站查询,益田附近网站建设我看了下自己的文章库存#xff0c;好像还没有一篇关于Makefile的文章#xff0c;所以这篇刚好可以弥补自己的缺失。makefile预定义变量预定义变量即系统自带的变量预定义变量作用AR库文件维护程序的名称#xff0c;默认为arAS汇编程序的名称#xff0c;默认为asCCc编译器的… 我看了下自己的文章库存好像还没有一篇关于Makefile的文章所以这篇刚好可以弥补自己的缺失。makefile预定义变量预定义变量即系统自带的变量预定义变量作用AR库文件维护程序的名称默认为arAS汇编程序的名称默认为asCCc编译器的名称默认为ccCXXc编译器的名称默认为gARFLAGS库文件维护程序选项无默认值ASFLAGS汇编程序选项无默认值CFLAGSc编译器选项无默认值CXXFLAGSc编译器选项无默认值makefile自动变量自动变量作用$*不包含扩展名的目标文件名称$第一个依赖文件名称$?所有时间戳比目标文件晚的依赖文件$目标文件的完整名称$^所有不重复的依赖文件最下面两个常用makefile隐式规则自动寻找.o文件对应的同名.c文件不用指定生成.o文件的规则相当于指定.o文件以后会自动将同名.c文件进行编译这在uboot以及linux kernel中是非常常见的在uboot以及linux kernel中经常出现include ···config.mk这也相当于包含一个子makefile虽然文件名不像但可以把它当作一个makefile文件来看待二者基本没有区别引用其他makefile及makefile嵌套包含include makefile文件名相当于子makefile文件直接展开嵌套subsystem:cd subdir $(MAKE)等价于subsystem:$(MAKE) -C subdir上面两种写法效果相同makefile管理命令命令作用-C dir读入指定目录下面的makefile-f file读入当前目录下的file文件为nakefile-i忽略所有命令执行错误-I dir指定被包含的makefile所在目录源文件过多的编译方案makefile分开多文件或者分级output文件不止一个文件解决方案多个makefile文件互相嵌套使用伪目标 make allmakefile环境变量普通变量导出以后即为环境变量一般要求环境变量大写普通变量小写使用export 变量名进行导出使用环境变量 环境变量类似于工程中所有makefile之间共享的全局变量定义一个环境变量会影响到工程中的其他makefile文件因此小心使用普通变量只在当前文件起作用makefile本身自带的环境变量 例如上面提到的预定义变量执行make命令的传参操作也相当于传入了一个环境变量(优先级最高可以覆盖原来makefile文件中定义的变量值)makefile通配符符号作用*若干个任意字符一个任意字符[]将中括号中字符依次进行匹配不加空格%表示任意字符与*相似,但%一般只用于规则描述中所以又称为规则通配符 PS想加入技术群的同学加了我好友后就给我发「篮球的大肚子」这句话有可能机器人打瞌睡可以多发几次不要发与技术无关的消息或者推广。如果想获取学习资料就在公众号后台回复「1024」足够多的学习资料可以让你学习。