问题标签 [makefile]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
makefile - 在 Makefile 中进行“切换”的好方法
我正在工作中尝试更新的构建系统;目前,我正在尝试找到一种根据目标平台设置编译器和标志的好方法。
我想做的是
GNU Make 不支持。现在,我的第一个想法是做
这是一个相当不错的解决方案,但是,很难了解文件之间的差异,更不用说我期待编写和维护一个好的 60-80 个文件,每个文件都包含一组变量定义.
有没有人碰巧知道更好的方法来做到这一点?即基于另一个变量设置一组标志和其他选项?
makefile - Make: $(wildcard) 持有一个打开的目录
因此,GNU Make 的 $(wildcard) 函数在 Windows 上保持目录打开似乎存在这个问题。请参阅(未确认的)帖子“ make 正在打开一个目录”。谷歌没有提供关于该主题的太多信息。
简而言之:Makefile 在某些时候使用 $(wildcard) 函数,并保持目录打开,这通常会阻止“make clean”规则正常工作。第二次重新运行“make clean”通常可以解决它。
我在标准 DOS-Box 下使用 GNU Make 3.81 版。上面链接的帖子的作者正在使用 Cygwin。
有没有人找到解决这个问题的方法?
gcc - gcc error: wrong ELF class: ELFCLASS64
I was trying to compile a program using an external compiled object coreset.o. I wrote the public01.c test file and my functions are in computation.c, both of which compiles. However its failing on linking it together. What might be the problem?
visual-studio - GCC 与 Visual Studio?
在 Visual Studio 2008 中使用 GCC 而不是 VC++ 有多难?显然,有些关键字不匹配,有些可能无法突出显示语法(除非您创建了新的语言服务)。
这就是“makefile 项目”的用途吗?
makefile - 安静地在错误时回显命令行
我有一个 Makefile 用很长的命令行构建许多 C 文件,我们已经通过以下规则清理了输出:
现在这很好,因为 @ 抑制了正在发出的编译行。但是当我们得到一个错误时,我们得到的只是错误信息,没有命令行。谁能想到一种“简洁”的方式来发出命令行?我能想到的就是将它回显到一个文件中,并让更高级别的 make 捕获错误并 cat 文件。哈基我知道。
makefile - 学习 GNUMake 的资源?
我正在尝试为我正在从事的一个小项目学习 GNUMake。到目前为止,即使是“基本”教程看起来也很粗糙,我还没有理解 makefile 的语法。
有没有人有一些好的资源让绝对初学者熟悉 GNUMake?
shell - 如何使失败的 $(shell) 命令中断
我有一个 Makefile,它首先在应用构建规则(该工具为我编写)之前运行一个工具。如果这个工具(它是一个 python 脚本)以非空状态码退出,我希望 GNU Make 停在那里而不继续构建程序。
目前,我做这样的事情(顶级,即第1列):
但这不会停止 make ifcollect_sources.py
以状态码 1 退出。这也捕获了标准输出,collect_sources.py
但不会将其打印出来,所以我觉得我看错了方向。
如果可能的话,当一个简单的 MS-DOS shell 是标准系统 shell 时,该解决方案甚至应该可以工作。
有什么建议吗?
makefile - Makefile 问题与在规则的命令部分中使用的定义中使用的条件有关
我有一段具有这种结构的makefile:
我在这里大大简化了,所有的回声实际上都是不平凡的命令块,还有更多的条件内容,但这抓住了我问题的本质。
出于技术原因,我现在不想进入,我需要摆脱那个 submake,但是因为 echo 代表了不平凡的代码量,我不想只是复制并通过 bob 的主体来代替子制作。
理想情况下,我想做的是这样的
不幸的是,条件似乎对我不利,它们产生“ifdef:找不到命令”错误,我尝试使用 eval 和 call 的各种组合来解决这个问题,但似乎无法找到让它工作的方法。
我该如何进行这项工作?它甚至是解决问题的正确方法吗?
makefile - 如何仅使用一个makefile在子目录中生成带有源代码的Makefile
我在一堆子目录中有源代码,例如:
在项目的根目录中,我想使用如下规则生成单个 Makefile:
当我尝试这个时,它没有找到 build/widgets/apple.o 的规则。我可以更改一些内容以便在需要制作 build/widgets/apple.o 时使用 %.o: %.cpp 吗?