我尝试设置一个构建系统来构建一个共享库MySharedLib和一个依赖于MySharedLib的二进制MyBinary。构建系统应该能够在被要求时安装MySharedLib和MyBinary,并且仅在被要求时。
import os.path
env = Environment()
env.Append(CCFLAGS='-g -Wall -ansi -O2')
prefix = '/usr/local'
lib_dir = os.path.join(prefix, 'lib')
bin_dir = os.path.join(prefix, 'bin')
Export('env prefix lib_dir bin_dir')
libMySharedLib = SConscript('libMySharedLib/SConscript')
MyBinary = SConscript('MyBinary/SConscript')
env.Alias('install', env.Install(lib_dir, libMySharedLib))
env.Alias('install', env.Install(bin_dir, MyBinary))
当我在没有命令行参数的情况下运行 SCons 时,会构建 MySharedLib 和 MyBinary,但它也会尝试安装它们。我希望它们仅在我要求安装目标时安装。我尝试了很多次,阅读了文档,但我无法弄清楚。