生成一个makefile以包含在可交付物中

时间:2012-03-20 12:21:15

标签: makefile automake generic-programming

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

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

  1. 在自定义位置生成C文件(从代码完成)
  2. 来自BigApp源存储库的附加h文件(通过makefile完成)
  3. 应用程序bin文件夹(done)中的可执行shell脚本,它设置一些参数,调用上面描述的内部c文件生成器,编号为1,并调用下面描述的某种构建脚本。
  4. “构建脚本,它应该将h文件和生成的C文件编译成共享对象。
  5. 我遇到的问题是,一旦安装了BigApp,第3步(编译新的共享对象)应该由具有类似基本类似Linux技能的任何人完成。此外,编号4的构建脚本应该以某种方式使用编译和安装BigApp时使用的相同设置。

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

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

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

1 个答案:

答案 0 :(得分:0)

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