当前位置: 首页 > 面试题库 >

在不同目录中包含源文件的Makefile

贺俊楚
2023-03-14
问题内容

我有一个目录结构如下的项目:

                         $projectroot
                              |
              +---------------+----------------+
              |               |                |
            part1/          part2/           part3/
              |               |                |
       +------+-----+     +---+----+       +---+-----+
       |      |     |     |        |       |         |
     data/   src/  inc/  src/     inc/   src/       inc/

我应该如何编写一个可以在part / src中(或在任何地方)的makefile来在部分c / c ++源文件中完成/链接?/ src?

我可以做一些事情-I $ projectroot / part1 / src -I $ projectroot / part1 / inc -I $
projectroot / part2 / src …

如果那行得通,有没有更简单的方法来做到这一点。我见过在每个相应部分中都有一个makefile的项目吗?文件夹。[在这篇文章中,我在bash语法中使用了问号]


问题答案:

传统的方法是有一个Makefile在每个子目录(中part1part2等),使您能够独立构建它们。此外,Makefile在项目的根目录中有一个用于构建所有内容的目录。“根”
Makefile看起来类似于以下内容:

all:
    +$(MAKE) -C part1
    +$(MAKE) -C part2
    +$(MAKE) -C part3

由于make目标中的每一行都在其自己的shell中运行,因此无需担心遍历目录树或其他目录。

我建议看一下GNU
make手册5.7
;这是非常有帮助的。



 类似资料:
  • 请给我一个解决方案,获取不包含文件"输入..."使用PHP的目录名称。我的文件夹结构是这样的: 因为Dir1和Dir3有“input…”文件,所以它将得到name=dir2,dir4,dir5。我有代码,但它不工作。请帮我修一下!

  • 问题内容: 在PHP中可以包含脚本目录吗? 即代替: 是否有类似的东西: 似乎找不到找到针对特定类的大约10个子类的集合的好方法。 问题答案:

  • 问题内容: 我需要将父目录和其他子目录中的文件包含到子目录中。我之前只使用include(’/ rootdirectory / file.php’); 但现在看来似乎行不通。 只是想知道我该怎么做,谢谢。 这是我的确切行: 它给我这个错误(页面仍在运行): 警告: include(/forums/groups.php)[function.include]:无法打开流:C:\ xampp \ htd

  • 我见过类似的问题,但他们仍然没有意义,我的猿类大脑。 这里有一个例子。如果我在名为的头文件中声明了一个函数:并且在文件中声明了一个函数:。我在另一个文件(例如)中看到过这样的人,它只包含头,它只有声明(里面没有代码),而不包含带有代码的。但令我震惊的是,当他们调用中的函数时,它使用了中的代码并打印“hello”。怎么做?当我只包含了文件时,它如何打印在文件中添加的“hello”,而它只是一个声明,

  • 我正在为一个框架编写一个构建系统,它可以由用户(开发人员)通过插件进行扩展。我的问题是,我不能包括所有的aar文件与掩码。例如,我可以包含所有jar文件,如下所示:

  • 我正试图在quarkus应用程序目录中创建我的“数据”文件夹。我试过用文档写的所有东西,比如应用程序。属性、maven属性和创建资源配置。json。我得到的最好结果是保存资源配置。将json文件本身放入-Pnative building中。如果能帮我解决这个问题,我将不胜感激!在此处输入图像描述 Quarkus属性: pom文件本身: