【问题标题】:Generate a makefile to include in the deliverable生成要包含在可交付成果中的 makefile
【发布时间】:2012-03-20 12:21:15
【问题描述】:

我有问题。 我目前正在开发一个 linux 应用程序(在这种情况下我们称之为 BigApp)。此应用程序需要通过共享对象(so)和 ini/文本文件进行自定义。

创建此类共享对象的先决条件是:

  1. 在自定义位置生成 C 文件(通过代码完成)
  2. BigApp 源存储库中的附加 h 文件(通过 makefile 完成)
  3. 应用程序 bin 文件夹中的一个可执行 shell 脚本(完成),它设置一些参数,调用上述编号 1 的内部 c 文件生成器,并调用如下所述的某种构建脚本。
  4. “the”构建脚本应该将 h 文件和生成的 C 文件编译成一个共享对象。

我在这里遇到的问题是,一旦安装了 BigApp,第 3 步(编译新的共享对象)应该由具有一些基本的类似 linux 技能的任何人完成。此外,编号 4 的构建脚本应该以某种方式使用与编译和安装 BigApp 时相同的设置。

BigApp 使用 automake(根目录和子文件夹的 makefile.am、configure.ac 文件)。 我假设在 BigApp 上运行 configure 时我需要一个 Makefile.am 模板来为共享对象生成一个特定的 makefile,但我不知道如何做到这一点,同时避免在我“制作”BigApp 时运行它。

我可以使用任何类型的建议或对教程的引用。 谢谢!

编辑:当时,共享库/对象的构建脚本是一个小型 shell 脚本,它只是调用 gcc 两次,但没有特定的平台设置,也与 BigApp 生成文件无关。

【问题讨论】:

    标签: makefile automake generic-programming


    【解决方案1】:

    自从您发布此问题以来已经有一段时间了,但是您应该做的是将共享库的当前 makefile 转换为由您的配置脚本完成的 Makefile.in(甚至使用 Automake 编写 Makefile.am)(使用 Autoconf 创建)用于 BigApp。您应该学习 GNU Build 系统手册。

    【讨论】:

      猜你喜欢
      • 2012-10-02
      • 1970-01-01
      • 2016-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多