CN103279356B - Makefile文件的自动生成方法和装置 - Google Patents

Makefile文件的自动生成方法和装置 Download PDF

Info

Publication number
CN103279356B
CN103279356B CN201310219279.8A CN201310219279A CN103279356B CN 103279356 B CN103279356 B CN 103279356B CN 201310219279 A CN201310219279 A CN 201310219279A CN 103279356 B CN103279356 B CN 103279356B
Authority
CN
China
Prior art keywords
makefile
file
information
compiler directive
sample
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310219279.8A
Other languages
English (en)
Other versions
CN103279356A (zh
Inventor
陈菊花
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201310219279.8A priority Critical patent/CN103279356B/zh
Publication of CN103279356A publication Critical patent/CN103279356A/zh
Application granted granted Critical
Publication of CN103279356B publication Critical patent/CN103279356B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提出一种Makefile文件的自动生成方法,其特征在于,包括以下步骤:获得样本软件,并对所述样本软件进行分析以获得所述样本软件的样本编译文件Makefile文件;根据所述样本Makefile文件获取对应的多个编译命令;获取所述多个编译命令的原子信息;根据所述多个编译命令中的原子信息生成编译标准信息,并根据所述编译标准信息和待开发软件的配置信息生成所述待开发软件对应的Makefile文件。本发明通过自动化方法生成Makefile文件,避免了人工学习语法和熟悉业务,节省了人力成本,缩短了开发时间,提高了工作效率。本发明还公开了一种Makefile文件的自动生成装置。

Description

Makefile文件的自动生成方法和装置
技术领域
本发明涉及计算机软件技术领域,特别涉及一种Makefile文件的自动生成方法和装置。
背景技术
在linux下,对于代码工程,用Makefile文件对整个工程的编译、连接等规则进行描述。一般情况下,是人工利用make命令来完成工程的自动化编译。像普通编程语言,如C语言有自己的格式、关键字和函数一样,Makefile文件有自己的书写格式、关键字、函数。
makefile文件是为了编译服务的,编译成功的基本要素包括:
(一)、正确寻找到头文件所在的目录,makefile中通过正确的-I参数寻找到头文件所在的目录。
(二)、正确寻找到链接库所在的目录,makefile中通过正确的-L参数正确寻找到链接库所在的目录。
(三)、正确寻找到链接库,makefile中通过正确的-l参数寻找到链接库。
(四)、正确的编译选项,makefile中正确的编译选项包括例如“-Wall-fPIC-DLINUX”等选项。
撰写makefile的过程就是能够找到以上要素并合理运用,现在一般情况下,上述过程是基于工程师在理解业务并且熟知makefile语法的基础上,手工进行编码的。
学习Makefile的撰写像学习一门新语言一样,需要投入学习的时间和精力,撰写Makefile的过程目前也是完全手工,因此比较耗费时间。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。
为此,本发明的一个目的在于提出一种Makefile文件的自动生成方法,通过自动化方法生成Makefile文件,避免了人工学习语法和熟悉业务,节省了人力成本,缩短了开发时间,提高了工作效率。
本发明的第二个目的在于提出一种Makefile文件的自动生成装置。
为达到上述目的,本发明第一方面的实施例提出了一种Makefile文件的自动生成方法,包括以下步骤:获得样本软件,并对所述样本软件进行分析以获得所述样本软件的样本编译文件Makefile文件;根据所述样本Makefile文件获取对应的多个编译命令;获取所述多个编译命令的原子信息;根据所述多个编译命令中的原子信息生成编译标准信息,并根据所述编译标准信息和待开发软件的配置信息生成所述待开发软件对应的Makefile文件。
根据本发明实施例的Makefile文件的自动生成方法通过对样本软件进行分析,将编译命令的相关信息进行处理重新生成Makefile文件,用于测试用例代码自动化生成领域时,可以实现完全的自动化过程。节省人对业务进行理解、熟悉Makefile文件语法和手工进行编码的成本,节约开发时间,提高了工作效率。
在本发明的一个实施例中,所述根据样本Makefile文件获取对应的多个编译命令进一步包括:通过Makefile文件的--just-print命令获取所述的多个编译命令。
在本发明的一个实施例中,所述根据所述样本Makefile文件获取对应的多个编译命令进一步包括:获得所述多个编译命令对应的基于路径的Makefile文件关系树,其中,所述基于路径的Makefile文件关系树包括主Makefile文件和多个子Makefile文件;获得所述Makefile文件关系树中每个Makefile文件对应的编译命令。
在本发明的一个实施例中,还包括以下操作中的一项或多项:
分别对所述多个编译命令进行行拼接;拼接可以除去换行符号(\)。
分别去掉所述多个编译命令中所有的目录信息;
只获取gcc和g++开头的编译命令;可以防止干扰信息的存在。
切分所述多个编译命令以获取所有以-开头的编译选项;
切分所述多个编译命令以获取所有的以.so、.o、.a结尾的文件。
在本发明的一个实施例中,在所述获取多个编译命令的原子信息之后,还包括:将所述多个编译命令的原子信息按照-I-L-l-o other选项进行分类并去重;去除具有-MM选项的原子信息。
本发明第二方面的实施例提出了一种Makefile文件的自动生成装置,包括分析模块、编译命令获取模块、原子信息获取模块和生成模块。其中,分析模块用于获得样本软件,并对所述样本软件进行分析以获得所述样本软件的样本编译文件Makefile文件;编译命令获取模块用于根据所述样本Makefile文件获取对应的多个编译命令;原子信息获取模块用于获取所述多个编译命令的原子信息;生成模块用于根据所述多个编译命令中的原子信息生成编译标准信息,并根据所述编译标准信息和待开发软件的配置信息生成所述待开发软件对应的Makefile文件。
根据本发明实施例的Makefile文件的自动生成装置通过对样本软件进行分析,将编译命令的相关信息进行处理重新生成Makefile文件,用于测试用例代码自动化生成领域时,可以实现完全的自动化过程。节省人对业务进行理解、熟悉Makefile文件语法和手工进行编码的成本,节约开发时间,提高了工作效率。
在本发明的一个实施例中,所述编译命令获取模块通过Makefile文件的--just-print命令获取所述的多个编译命令。
在本发明的一个实施例中,所述编译命令获取模块获得所述多个编译命令对应的基于路径的Makefile文件关系树,其中,所述基于路径的Makefile文件关系树包括主Makefile文件和多个子Makefile文件,并获得所述Makefile文件关系树中每个Makefile文件对应的编译命令。
在本发明的一个实施例中,还包括处理模块,用于进行以下操作中的一项或多项:
分别对所述多个编译命令进行行拼接;拼接可以除去换行符号(\)。
分别去掉所述多个编译命令中所有的目录信息;
只获取gcc和g++开头的编译命令;可以防止干扰信息的存在。
切分所述多个编译命令以获取所有以-开头的编译选项;
切分所述多个编译命令以获取所有的以.so、.o、.a结尾的文件。
在本发明的一个实施例中,还包括归一化模块,用于将所述多个编译命令的原子信息按照-I-L-l-o other选项进行分类并去重,以及去除具有-MM选项的原子信息。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明实施例的Makefile文件的自动生成方法的流程图;
图2是根据本发明实施例的样本软件工程目录的文件示意图;
图3是根据本发明实施例的编译命令示意图;
图4是根据本发明实施例的Makefile文件关系树的示意图;
图5是根据本发明实施例的编译标准信息格式化保存的示意图;
图6是根据本发明实施例的生成的Makefile文件示例;和
图7是根据本发明实施例的Makefile文件的自动生成装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
下面参考图1描述根据本发明实施例的Makefile文件的自动生成方法,包括以下步骤:
步骤S110:获得样本软件,并对样本软件进行分析以获得样本软件的样本编译文件Makefile文件。
步骤S120:根据样本Makefile文件获取对应的多个编译命令。
在本发明的一个实施例中,通过Makefile文件的--just-print命令获取的多个编译命令。
其中,根据样本Makefile文件获取对应的多个编译命令进一步包括:
步骤S121:获得多个编译命令对应的基于路径的Makefile文件关系树,其中,基于路径的Makefile文件关系树包括主Makefile文件和多个子Makefile文件。
步骤S122:获得Makefile文件关系树中每个Makefile文件对应的编译命令。
在本发明的一个实施例中,还包括以下操作中的一项或多项:
分别对多个编译命令进行行拼接;分别去掉多个编译命令中所有的目录信息;只获取gcc和g++开头的编译命令;切分多个编译命令以获取所有以-开头的编译选项;切分多个编译命令以获取所有的以.so、.o、.a结尾的文件。
步骤S130:获取多个编译命令的原子信息。
在获取多个编译命令的原子信息之后,还包括:
步骤S131:将多个编译命令的原子信息按照-I-L-l-o other选项进行分类并去重。
步骤S132:去除具有-MM选项的原子信息。
步骤S140:根据多个编译命令中的原子信息生成编译标准信息,并根据编译标准信息和待开发软件的配置信息生成待开发软件对应的Makefile文件。
在测试用例代码自动化生成领域,在自动生成测试用例代码之后,如果自动生成的代码不能配套自动生成Makefile文件,代码将不能通过编译,那么自动生成的测试用例代码也是无用的。本发明提供了一种Makefile文件自动生成的方法,是自动生成测试代码领域非常关键的环节。下面根据一个具体的实施例对本发明进行说明,可以理解的是,下述说明仅出于示例目的,根据本发明的实施例不限于此。
步骤S210:获得样本软件。例如可以利用如svn或者cvs等代码管理工具获取到样本软件的代码工程中对应的代码文件和编译文件。对样本软件进行分析以获得样本软件的样本编译文件Makefile文件。例如可以在样本软件的工程目录下得到如图2所示的代码文件和编译文件,其中,src中为代码的源文件,include、bin、conf、otherlib等目录包含了需要的头文件、二进制文件、配置文件和其它库文件等,是后续策略的基础。Makefile为编译文件,是后续处理的关键输入,
步骤S220:利用Makefile文件的--just-print打印现有工程的多个编译命令。
样本软件工程目录下已有的Makefile文件存在大量的变量和跨行命令,如果直接进行解析和处理,代价会很大,并且无法保证准确性。利用make--just-print可以得到Makefile最终执行的编译命令。图3为输入make--just-print编译命令的一个例子,可以理解的是,下面的编译命令仅出于示例目的,根据本发明的实施例不限于此。
步骤S230:通过样本软件工程最编译命令中的-C命令,得到主Makefile文件关联的多个子Makefile文件。对每个关联的子Makefile文件,也通过-C命令查找子Makefile文件关联的子Makefile文件,最终得到基于路径的Makefile文件关系树。如图4为Makefile文件关系树的一个示例,父节点的Makefile文件包含了子Makefile文件,父节点和子节点之间的边表示子节点Makefile的路径。
步骤S240:获得Makefile文件关系树中每个Makefile文件对应的编译命令。
步骤S250:获得样本软件的工程中的所有编译命令的原子信息。
对Makefile文件关系树中的每个Makefile文件对应的最终执行的编译命令执行如下的操作:
步骤S251:对编译命令进行行拼接,去除换行符号(\)。
步骤S252:删除编译命令中的目录信息,通过Makefile文件关系树进行目录拼接。
步骤S253:只获取以gcc、g++开头的编译命令,从而防止干扰信息的存在。
步骤S254:对编译命令进行切分,利用如sed′s/[[:space:]+]-/\n-/g′)得到所有以“-”开头的编译选项。
步骤S255:寻找所有的以.so、.o、.a结尾的文件,得到Makefile文件中不采用-l参数但需要的链接文件。
步骤S260:将所有的编译命令的原子信息按照-I-L-l-o other选项进行分类并去重。
还可以包括去掉含有如-MM选项的原子信息
步骤S270:利用Makefile文件关系树对所有的原子信息中的文件和目录进行路径修正,以使文件和目录能被正确找到
具体地,对原子信息进行分类并进一步处理包括:
步骤S271:如果开始的输入为空的工程,则选用默认编译命令的原子信息。
步骤S272:对原子信息中的文件和目录进行路径修正后,如果文件无法找到,则分析源工程的文件结构,进行进一步修正,确保需要的文件路径都存在。
经过步骤S271和步骤S272得到了全面且正确的的编译原子信息,称为编译标准信息。
步骤S280:将编译标准信息进行格式化保存。图5为格式化保存的一种形式.
步骤S290:根据多个编译命令中的原子信息生成编译标准信息、Makefile的语法、待开发软件的配置信息和待开发软件的需求,生成待开发软件对应的新的Makefile文件。图6为新的Makefile文件的一个示例。
根据本发明实施例的Makefile文件的自动生成方法使用计算机替代人工,避免人工对业务进行理解、熟悉Makefile文件语法并手工进行编码。其中,通过机器学习已有工程的代码和已有的Makefile文件对业务进行理解,机器按照Makefile的撰写语法规则撰写Makefile文件,实现了自动化生成方法。本方法用于测试用例代码自动化生成领域中可以实现该领域完全的自动化过程。代替了手工撰写过程,节省了人力成本,节约开发时间。
下面参考图7描述根据本发明实施例的Makefile文件的自动生成装置100,包括分析模块110、编译命令获取模块120、原子信息获取模块130、生成模块140、归一化模块150和处理模块160。
其中,分析模块110用于获得样本软件,并对样本软件进行分析以获得样本软件的样本编译文件Makefile文件;编译命令获取模块120用于根据样本Makefile文件获取对应的多个编译命令;原子信息获取模块130用于获取多个编译命令的原子信息;生成模块140用于根据多个编译命令中的原子信息生成编译标准信息,并根据编译标准信息和待开发软件的配置信息生成待开发软件对应的Makefile文件。
在本发明的一个实施例中,编译命令获取模块120通过Makefile文件的--just-print命令获取的多个编译命令。
其中,编译命令获取模块120获得多个编译命令对应的基于路径的Makefile文件关系树,其中,基于路径的Makefile文件关系树包括主Makefile文件和多个子Makefile文件,并获得Makefile文件关系树中每个Makefile文件对应的编译命令。
在本发明的一个实施例中,还包括处理模块160,用于进行以下操作中的一项或多项:分别对多个编译命令进行行拼接;分别去掉多个编译命令中所有的目录信息;只获取gcc和g++开头的编译命令;切分多个编译命令以获取所有以-开头的编译选项;切分多个编译命令以获取所有的以.so、.o、.a结尾的文件。
还包括归一化模块150,用于将多个编译命令的原子信息按照-I-L-l-oother选项进行分类并去重,以及去除具有-MM选项的原子信息。
在测试用例代码自动化生成领域,在自动生成测试用例代码之后,如果自动生成的代码不能配套自动生成Makefile文件,代码将不能通过编译,那么自动生成的测试用例代码也是无用的。本发明提供了一种Makefile文件自动生成的装置,是自动生成测试代码领域非常关键的环节。下面根据一个具体的实施例对本发明进行说明,可以理解的是,下述说明仅出于示例目的,根据本发明的实施例不限于此。
分析模块110获得样本软件。例如分析模块110可以利用如svn或者cvs等代码管理工具获取到样本软件的代码工程中对应的代码文件和编译文件。分析模块110对样本软件进行分析以获得样本软件的样本编译文件Makefile文件。例如可以在样本软件工程目录下得到图2所示的代码文件和编译文件,其中,src中为代码的源文件,include、bin、conf、otherlib等目录包含了需要的头文件、二进制文件、配置文件和其它库文件等,是后续策略的基础。Makefile为编译文件,是后续处理的关键输入,
编译命令获取模块120利用Makefile文件的--just-print获取现有工程的多个编译命令。
样本软件的工程目录下已有的Makefile文件存在大量的变量和跨行命令,如果直接进行解析和处理,代价会很大,并且无法保证准确性。利用make--just-print可以得到makefile最终执行的编译命令,图3为编译命令的一个例子。
编译命令获取模块120通过现有工程最编译命令中的-C命令,得到主Makefile文件关联的多个子Makefile文件。对每个关联的子Makefile文件,也通过-C命令查找子Makefile文件关联的子Makefile文件,最终得到基于路径的Makefile文件关系树。如图4为Makefile文件关系树的一个示例,父节点的Makefile文件包含了子Makefile文件,父节点和子节点之间的边表示子节点Makefile的路径。
编译命令获取模块120获得Makefile文件关系树中每个Makefile文件对应的编译命令。
原子信息获取模块130获得样本软件的工程中所有编译命令的原子信息。
处理模块160对Makefile文件关系树中的每个Makefile文件对应的最终执行的编译命令执行如下的操作:
处理模块160对编译命令进行行拼接,去除换行符号(\)。
处理模块160删除编译命令中的目录信息,通过Makefile文件关系树进行目录拼接。
处理模块160只获取以gcc、g++开头的编译命令,从而防止干扰信息的存在。
处理模块160对编译命令进行切分,利用如sed′s/[[:space:]+]-/\n-/g′)得到所有以“-”开头的编译选项。
处理模块160寻找所有的以.so、.o、.a结尾的文件,得到Makefile文件中不采用-l参数但需要的链接文件。
归一化模块150将所有的编译命令的原子信息按照-I-L-l-o other选项进行分类并去重。归一化模块150还可以包括去掉含有如-MM选项的原子信息
生成模块140利用Makefile文件关系树对所有的原子信息中的文件和目录进行路径修正,以使文件和目录能被正确找到
具体地,生成模块140对原子信息进行分类并进一步处理包括:
如果开始的输入为空的工程,则生成模块140选用默认编译命令的原子信息。
生成模块140对原子信息中的文件和目录进行路径修正后,如果文件无法找到,则分析源工程的文件结构,进行进一步修正,确保需要的文件路径都存在。生成模块140得到了全面并且正确的原子信息,称为编译标准信息。
生成模块140将编译标准信息进行格式化保存。图5为格式化保存的一种形式。
生成模块140根据多个编译命令中的原子信息生成编译标准信息、Makefile的语法、待开发软件的配置信息和待开发软件的需求,生成待开发软件对应的新的Makefile文件。图6为新的Makefile文件的一个示例。
根据本发明实施例的Makefile文件的自动生成装置使用计算机替代人工,避免人工对业务进行理解、熟悉Makefile语法并手工进行编码。其中,通过机器学习已有工程的代码和已有的Makefile文件对业务进行理解,机器按照Makefile的撰写语法规则撰写Makefile文件,实现了自动化生成方法。本方法用于测试用例代码自动化生成领域中可以实现该领域完全的自动化过程。代替了手工撰写过程,节省了人力成本,节约开发时间。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。

Claims (10)

1.一种Makefile文件的自动生成方法,其特征在于,包括以下步骤:
获得样本软件,并对所述样本软件进行分析以获得所述样本软件的样本编译文件Makefile文件;
根据所述样本Makefile文件获取对应的多个编译命令;
获取所述多个编译命令的原子信息,所述原子信息为将所述编译命令划分为的最小的不可分割的信息;以及
根据所述多个编译命令中的原子信息生成编译标准信息,并根据所述编译标准信息和待开发软件的配置信息生成所述待开发软件对应的Makefile文件,所述编译标准信息为对所述原子信息进行分类并处理后得到的全面且正确的编译原子信息。
2.如权利要求1所述的方法,其特征在于,所述根据样本Makefile文件获取对应的多个编译命令进一步包括:
通过Makefile文件的打印命令获取所述的多个编译命令。
3.如权利要求1或2所述的方法,其特征在于,所述根据所述样本Makefile文件获取对应的多个编译命令进一步包括:
获得所述多个编译命令对应的基于路径的Makefile文件关系树,其中,所述基于路径的Makefile文件关系树包括主Makefile文件和多个子Makefile文件;以及
获得所述Makefile文件关系树中每个Makefile文件对应的编译命令。
4.如权利要求1或2所述的方法,其特征在于,还包括以下操作中的一项或多项:
分别对所述多个编译命令进行行拼接;
分别去掉所述多个编译命令中所有的目录信息;
只获取gcc和g++开头的编译命令;
切分所述多个编译命令以获取所有以-开头的编译选项;以及
切分所述多个编译命令以获取所有的以.so、.o、.a结尾的文件。
5.如权利要求1所述的方法,其特征在于,在所述获取多个编译命令的原子信息之后,还包括:
将所述多个编译命令的原子信息按照头文件所在的目录参数、链接库所在的目录参数、链接库参数和other编译选项参数进行分类并去重;以及
去除具有头文件的编译选项参数的原子信息。
6.一种Makefile文件的自动生成装置,其特征在于,包括:
分析模块,用于获得样本软件,并对所述样本软件进行分析以获得所述样本软件的样本编译文件Makefile文件;
编译命令获取模块,用于根据所述样本Makefile文件获取对应的多个编译命令;
原子信息获取模块,用于获取所述多个编译命令的原子信息,所述原子信息为将所述编译命令划分为的最小的不可分割的信息;以及
生成模块,用于根据所述多个编译命令中的原子信息生成编译标准信息,并根据所述编译标准信息和待开发软件的配置信息生成所述待开发软件对应的Makefile文件,所述编译标准信息为对所述原子信息进行分类并处理后得到的全面且正确的编译原子信息。
7.如权利要求6所述的装置,其特征在于,所述编译命令获取模块通过Makefile文件的打印命令获取所述的多个编译命令。
8.如权利要求6所述的装置,其特征在于,所述编译命令获取模块获得所述多个编译命令对应的基于路径的Makefile文件关系树,其中,所述基于路径的Makefile文件关系树包括主Makefile文件和多个子Makefile文件,并获得所述Makefile文件关系树中每个Makefile文件对应的编译命令。
9.如权利要求6所述的装置,其特征在于,还包括:
处理模块,用于进行以下操作中的一项或多项:
分别对所述多个编译命令进行行拼接;
分别去掉所述多个编译命令中所有的目录信息;
只获取gcc和g++开头的编译命令;
切分所述多个编译命令以获取所有以-开头的编译选项;以及
切分所述多个编译命令以获取所有的以.so、.o、.a结尾的文件。
10.如权利要求6所述的装置,其特征在于,还包括:
归一化模块,用于将所述多个编译命令的原子信息按照头文件所在的目录参数、链接库所在的目录参数、链接库参数和other编译选项参数进行分类并去重,以及去除具有头文件的编译选项参数的原子信息。
CN201310219279.8A 2013-06-04 2013-06-04 Makefile文件的自动生成方法和装置 Active CN103279356B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310219279.8A CN103279356B (zh) 2013-06-04 2013-06-04 Makefile文件的自动生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310219279.8A CN103279356B (zh) 2013-06-04 2013-06-04 Makefile文件的自动生成方法和装置

Publications (2)

Publication Number Publication Date
CN103279356A CN103279356A (zh) 2013-09-04
CN103279356B true CN103279356B (zh) 2019-01-25

Family

ID=49061896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310219279.8A Active CN103279356B (zh) 2013-06-04 2013-06-04 Makefile文件的自动生成方法和装置

Country Status (1)

Country Link
CN (1) CN103279356B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104866368B (zh) * 2014-12-19 2018-08-28 北京宝沃汽车有限公司 一种Makefile文件生成方法和装置
CN107885503B (zh) * 2017-11-11 2021-01-08 湖南大学 一种基于程序特征分析的迭代编译优化方法
CN110457044B (zh) * 2019-07-04 2023-11-14 广东三维家信息科技有限公司 Haxe应用程序的编译方法、装置及电子设备
CN111796831B (zh) * 2020-06-24 2023-02-28 苏州大学 一种多芯片兼容的编译方法和装置
CN111857725A (zh) * 2020-07-17 2020-10-30 山东云海国创云计算装备产业创新中心有限公司 一种Makefile文件生成方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1641568A (zh) * 2004-01-13 2005-07-20 英业达股份有限公司 基板管理控制器的固件自动配置系统及方法
CN101697135A (zh) * 2009-10-28 2010-04-21 北京东方网力科技有限公司 一种编译程序的方法及装置
CN101826014A (zh) * 2010-04-20 2010-09-08 北京邮电大学 一种软件工程源代码的分割方法
CN102629214A (zh) * 2012-02-29 2012-08-08 浪潮(北京)电子信息产业有限公司 Linux系统中编译软件的方法和系统
EP2498178A1 (en) * 2009-11-04 2012-09-12 ZTE Corporation Method and device for development environment converting

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1641568A (zh) * 2004-01-13 2005-07-20 英业达股份有限公司 基板管理控制器的固件自动配置系统及方法
CN101697135A (zh) * 2009-10-28 2010-04-21 北京东方网力科技有限公司 一种编译程序的方法及装置
EP2498178A1 (en) * 2009-11-04 2012-09-12 ZTE Corporation Method and device for development environment converting
CN101826014A (zh) * 2010-04-20 2010-09-08 北京邮电大学 一种软件工程源代码的分割方法
CN102629214A (zh) * 2012-02-29 2012-08-08 浪潮(北京)电子信息产业有限公司 Linux系统中编译软件的方法和系统

Also Published As

Publication number Publication date
CN103279356A (zh) 2013-09-04

Similar Documents

Publication Publication Date Title
CN103279356B (zh) Makefile文件的自动生成方法和装置
US9122540B2 (en) Transformation of computer programs and eliminating errors
CN104133772B (zh) 一种自动生成测试数据的方法
CN106843840B (zh) 一种基于相似度分析的源代码版本演化注释复用方法
US9817810B2 (en) SVO-based taxonomy-driven text analytics
CN109033843B (zh) 用于分布式静态检测系统的Java文件依赖性分析方法及模块
CN106919612B (zh) 一种上线结构化查询语言脚本的处理方法及装置
CN104199831A (zh) 信息处理方法及装置
CN106201643A (zh) 数据解析方法及装置
CN104536987B (zh) 一种查询数据的方法及装置
CN109857641A (zh) 对程序源文件进行缺陷检测的方法及装置
CN104391793A (zh) 测试步骤及测试脚本生成方法及装置
CN109753658B (zh) 交互方法和装置
Chen et al. Clone detection in Matlab Stateflow models
Lesta et al. Detecting and explaining conflicts in attributed feature models
CN109101236A (zh) 基于规则引擎和maven插件实现的项目依赖管理方法及系统
CA2675692C (en) Compiler-assisted program source code filter
US20210389977A1 (en) System migration support apparatus, system migration support method and program
CN114047970A (zh) 一种autosar架构软件的配置方法及系统
CN110069455B (zh) 一种文件合并方法及装置
JP2002520716A (ja) 構成記述言語システム
CN117520148A (zh) 基于大型语言模型的测试用例生成系统
Tinnes et al. Mining domain-specific edit operations from model repositories with applications to semantic lifting of model differences and change profiling
US8819645B2 (en) Application analysis device
Tinnes et al. Learning domain-specific edit operations from model repositories with frequent subgraph mining

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant