这是合约。我有一个包含几个代码构建块的文件夹结构,我无法弄清楚如何创建必要的makefile来编译项目。
我试图制作以下内容,但它不起作用:
我使用向导创建了项目,以便让eclipse自动创建makefile并正确编译。
我发现eclipse自动创建的makefile是在工作区文件夹中创建的,但是我想在项目文件夹中创建它们。
我作为测试所做的基本上是复制我文件夹结构中的所有.mk文件和主要makefile,就像eclipse在工作区中所做的那样,并使用向导中的create empty makefile选项创建一个新项目但是它不编译。
我不知道我还应该做什么或配置使它运作。
感谢您的帮助。
答案 0 :(得分:1)
如评论中所述,有许多方法可以组织构建系统。我通常使用的一个简单方法是:
有一个共享的编译变量定义.mk文件。
拥有一个共享的make文件,该文件定义了为不同类型的代码文件构建目标文件的规则,例如.c,.cpp等。此Makefile中还包含构建目标的规则。您可以为目标的不同类型(静态库,共享库,可执行文件)提供多种类型的Makefile。
在每个文件夹中定义一个make文件,用于填充对象文件列表并定义目标名称。在此makefile中包含Makefile(2)。
在每个文件夹中调用子文件夹中的Makefile。您可以为每个子文件夹构建静态库,并将它们包含在" main"可执行的Makefile作为依赖。
如果您不想按步骤3中的定义为每个文件夹/子文件夹编写Makefile。您可以定义一个Makefile来构建文件夹中的每个代码文件并以递归方式调用它。
我希望它有所帮助。