【技术实现步骤摘要】
一种Makefile文件生成方法、装置、设备及介质
本申请涉及软件项目开发
,更具体地说,涉及一种Makefile文件生成方法、装置、设备及计算机可读存储介质。
技术介绍
Makefile是一种用来描述整个软件项目所有代码源文件编译和链接等规则的标准通用文件,其在几乎所有的软件项目都有使用。Makefile文件中包含了哪些源文件需要编译,哪些源文件不需要编译,哪些源文件需要先编译,哪些源文件需要后编译,哪些源文件需要重建等,所有和源文件编译相关的环节,都可以在Makefile文件中进行描述。目前,对于Makefile文件,大多数采用手动编写的方式进行实现,但是,由于Makefile语法比较繁琐复杂,且对于中大型软件项目而言,Makefile文件数量繁多,因此,手动编写的方式则会降低Makefile文件的生成效率,并且容易出现编写错误。综上所述,如何提高Makefile文件的生成效率和生成准确性,是目前本领域技术人员亟待解决的技术问题。
技术实现思路
有鉴于此,本申请的目的是提供一种M ...
【技术保护点】
1.一种Makefile文件生成方法,其特征在于,包括:/n利用预设的语法格式在存储源文件的文件夹中创建bulid.mk文本文件;其中,所述源文件与软件项目相对应,所述bulid.mk文本文件中包括目标集合;/n创建宏配置文件及通用配置文件;其中,所述宏配置文件用于表示所述目标集合中的目标文件是否进行编译,所述通用配置文件用于配置编译条件集合和头文件集合;/n遍历所有所述文件夹中的所述bulid.mk文本文件,结合所述宏配置文件及所述通用配置文件对所述bulid.mk文本文件进行解析,得到所述目标文件及所述目标文件的编译信息;/n根据所述目标文件及所述目标文件的编译信息生成 ...
【技术特征摘要】
1.一种Makefile文件生成方法,其特征在于,包括:
利用预设的语法格式在存储源文件的文件夹中创建bulid.mk文本文件;其中,所述源文件与软件项目相对应,所述bulid.mk文本文件中包括目标集合;
创建宏配置文件及通用配置文件;其中,所述宏配置文件用于表示所述目标集合中的目标文件是否进行编译,所述通用配置文件用于配置编译条件集合和头文件集合;
遍历所有所述文件夹中的所述bulid.mk文本文件,结合所述宏配置文件及所述通用配置文件对所述bulid.mk文本文件进行解析,得到所述目标文件及所述目标文件的编译信息;
根据所述目标文件及所述目标文件的编译信息生成与所述软件项目对应的Makefile文件。
2.根据权利要求1所述的Makefile文件生成方法,其特征在于,结合所述宏配置文件及所述通用配置文件对所述bulid.mk文本文件进行解析,包括:
根据所述宏配置文件从当前文件夹的所述bulid.mk文本文件中抽取所述目标文件和需要继续遍历的子文件夹;
结合所述宏配置文件、所述通用配置文件中的所述编译条件集合和所述头文件集合解析所述目标文件的编译信息;
对需要继续遍历的子文件夹中的所述bulid.mk文本文件执行所述抽取所述目标文件和需要继续遍历的子文件夹的步骤,直至子文件夹的所述bulid.mk文本文件中仅包含目标文件且完成对所述目标文件的解析为止。
3.根据权利要求2所述的Makefile文件生成方法,其特征在于,在结合所述宏配置文件、所述通用配置文件中的所述编译条件集合和所述头文件集合解析所述目标文件的编译信息之后,还包括:
在所述当前文件夹中创建tmp.mk文件,利用所述tmp.mk文件记录解析出的所述目标文件的编译信息;
相应地,根据所述目标文件及所述目标文件的编译信息生成与所述软件项目对应的Makefile文件,包括:
利用所有的所述tmp.mk文件合成所述Makefile文件。
4.根据权利要求1至3任一项所述的Makefile文件生成方法,其特征在于,结合所述宏配置文件及所述通用配置文件对所述bulid.mk文本文件进行解析,包括:
利用python脚本语言结合所述宏配置文件及所述通用配置文件对所述bulid.mk文本文件进行解析。
5.根据权利要求4所述的Makefile文件生成方法,其特征在...
【专利技术属性】
技术研发人员:刘文涛,吴睿振,张辉,沈欣舞,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。