我的项目使用外部包。这些包在 tarball 中分发,并且在更新 tarball 时提取它们的内容。
例如,我使用升压。对应的外部包是 boost.tar.bz2。这个包包含头文件和库。我想做的是在更新 tarball 时使用 scons 自动提取此存档的内容。
我可以通过使用“时间戳文件”的 Makefile 来实现这一点。当 tarball 比时间戳文件更新时,会自动提取存档:
all: external-packages
external-packages: boost xml2
boost: .boost-timestamp
xml2: .xml2-timestamp
.boost-timestamp: boost.tar.bz2
@echo updating boost externals
@tar xjf boost.tar.bz2
@touch .boost-timestamp
.xml2-timestamp: xml2.tar.bz2
@echo updating xml2 externals
@tar xjf xml2.tar.bz2
@touch .xml2-timestamp
clean:
rm -rf .*-timestamp boost xml2
我怎样才能用 scons 达到同样的效果?