如何编写仅构建库的makefile?

时间:2011-01-21 01:28:57

标签: linux makefile

我有一组用于我的应用程序开发的库。每当我构建应用程序时,都会重建所有库。我和我的团队团队觉得一次又一次地构建库真的是不必要的。

如何创建一个独立构建所有库和应用程序的makefile?  我的意思是说,当我构建我的应用程序时,我想避免构建已经构建的所有库。

提出一些意见。

编辑: 描述: 我的应用程序名为xyz,所有源文件都存在于./src/xyz目录中。 它取决于像ssh和net-snmp这样的库。 net-snmp和ssh都放在./lib目录中。

现在无论何时构建应用程序,都会重新构建所有库。在这里,我不修改我的应用程序所需的库包。

构建需要将近一个小时的时间。在每个构建库中重新构建,这不是必需的。

现在,我的问题? 如何编写将单独构建库和应用程序的makefile。

1 个答案:

答案 0 :(得分:0)

你没有给我们足够的信息来提供详细的答案,但这里是大纲:

LIBRARIES = ./lib/ssh ./lib/net-snmp

SOURCES = foo bar baz

xyz: $(LIBRARIES) $(SOURCES)
    command-that-rebuilds-app-from-sources-and-libraries

./lib/ssh: things-that-ssh-needs
    command-that-rebuilds-ssh

./lib/net-snmp: things-that-net-snmp-needs
    command-that-rebuilds-net-snmp

XPATH: ./src