我有一组用于我的应用程序开发的库。每当我构建应用程序时,都会重建所有库。我和我的团队团队觉得一次又一次地构建库真的是不必要的。
如何创建一个独立构建所有库和应用程序的makefile? 我的意思是说,当我构建我的应用程序时,我想避免构建已经构建的所有库。
提出一些意见。
编辑: 描述: 我的应用程序名为xyz,所有源文件都存在于./src/xyz目录中。 它取决于像ssh和net-snmp这样的库。 net-snmp和ssh都放在./lib目录中。
现在无论何时构建应用程序,都会重新构建所有库。在这里,我不修改我的应用程序所需的库包。
构建需要将近一个小时的时间。在每个构建库中重新构建,这不是必需的。
现在,我的问题? 如何编写将单独构建库和应用程序的makefile。
答案 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