makefile文件写法解析
Posted 诸子流
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了makefile文件写法解析相关的知识,希望对你有一定的参考价值。
一个makefile文件如下:
# this is a makefile #这一行是注释 NAME = MemInfo.exe #下来这几行是宏定义,相当于linux的变量 OBJS = $(NAME).obj RES = $(NAME).res LINK_FLAG = /subsystem:windows ML_FLAG = /c /coff $(NAME): $(OBJS) $(RES) #这一行指出最终生成的exe文件依赖哪些obj和res文件 Link $(LINK_FLAG) $(OBJS) $(RES) #这一行是生成exe时执行的链接命令;命令和我们手动执行时一致所以是显示规则 .asm.obj: #这一行表示.asm文件转成.obj文件要使用下边这个语句 ml $(ML_FLAG) $< #这一行是使用.asm转.obj的编译命令;$<表示对当前目录下所有.asm文件进行编译且编译生成的.obj文件使用和原来.asm文件一样的名字 .rc.res: #这一行表示.rc文件转成.res文件要使用下边这个语句 rc $< #这一行是使用.rc转.res的编译命令;$<表示对当前目录下所有.rc文件进行编译且编译生成的.res文件使用和原来.rc文件一样的名字 clean: #这一行表示最后要执行以下的清除命令 del *.obj #删除当前目录下的所有.obj文件 del *.res #删除当前目录下的所有.res文件
从组成元素看,一个makefile由注释、宏定义、显示规则和隐式规则四种元素组成
从组成结构上看,一个makefile由注释、宏定义、exe依赖和obj/res转exe的链接命令、obj依赖及asm转obj的编译命令、rc转res的编译命令、清除中间文件命令组成
以上是关于makefile文件写法解析的主要内容,如果未能解决你的问题,请参考以下文章