【问题标题】:Linux Makefile structure and documentation [closed]Linux Makefile 结构和文档 [关闭]
【发布时间】:2009-07-29 20:23:58
【问题描述】:

我很难理解 Makefile 的结构。你能给我指出一个很好的资源吗?

【问题讨论】:

    标签: linux makefile


    【解决方案1】:

    到目前为止,我找到的关于 makefile 的最佳教程是 this one。您的其他选择之一是学习自动工具并让他们为您生成您的 makefile,尽管有点过时的 this 是我发现最好学习的教程。

    【讨论】:

    • 仅供参考:CMake 也生成 makefile,并且比 autotools 更简单、更不易碎。您可以在 lazycodemonkey.com/?p=46=1 找到它的教程,在 cmake.org/cmake/help/cmake2.6docs.html 找到 CMake 命令手册。使用 CMake 只需创建一个“CMakeLists.txt”文件并添加适当的命令(使用手册)。
    • 主链接(makefilehowto)已损坏。
    • 只需添加 www。到链接的前面,所以它是 www.wlug.org.nz/MakefileHowto 。那个网站正是我要找的。​​span>
    【解决方案2】:

    您也可以使用此tutorial by example。它提供了适用于简单项目的非常简单的示例。

    【讨论】:

      【解决方案3】:

      这就是你所需要的:make

      【讨论】:

      【解决方案4】:

      虽然学习如何读取和编写 Makefile 非常好,但我强烈建议您使用 CMake 进行 C/C++ 构建,而不是编写自己的 Makefile。制作可移植的 Makefile 非常困难,这就是 C++ 社区从手工制作的 makefile 转向使用 GNU Autotools(Automake、Autoconf、Autoheader、Autoreconf、Libtool 等)的原因。然而,GNU 的极端复杂性Autotools 有很多不足之处,因此创建了 CMake,它正迅速成为 C/C++ 社区的首选构建工具。它已被 growing list of projects 采用,包括 KDE。

      【讨论】:

      • “CMake 的创建,它正迅速成为 C/C++ 社区首选的构建工具”我一直听到这个,但我一直没有在野外遇到它。也许我只是用错了软件,但你能举个例子吗?
      • 我已经提供了一个链接,其中列出了一些使用 CMake 进行构建过程的项目。 BOOST 目前正在试验 CMake(他们仍然有旧的构建机制,但现在有一个 CMake 构建,最终将取代他们基于 JAM 的流程),KDE4,KDE 已切换到使用 CMake,机器人操作系统 (ROS)广泛使用 CMake,我很确定 Mesa3D(OpenGL 的免费实现)现在使用 CMake。所有这些都是巨大的 C/C++ 项目或伞形项目,而且名单还在不断增加。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      • 2020-09-15
      • 2013-02-20
      • 1970-01-01
      相关资源
      最近更新 更多