我刚刚从 make 切换到 tup,我似乎无法理解如何制作命名目标..
Makefile 允许定义多个目标,例如 make clean、make foo 等。
然而, tup 似乎只接受变量开关,而不是真正的目标......
有没有解决的办法?
我刚刚从 make 切换到 tup,我似乎无法理解如何制作命名目标..
Makefile 允许定义多个目标,例如 make clean、make foo 等。
然而, tup 似乎只接受变量开关,而不是真正的目标......
有没有解决的办法?
答案是在tup的变体设置中 。
例如,clean
目标近似为(来自类似的答案):
# Build files in build-default
touch default.config # An empty config file is ok
tup variant default
tup
实际上,这是手册中描述的变体的用例。
$ ls configs/
bar.config
foo.config
$ tup variant configs/*.config
tup: Added variant 'build-bar' using config file 'configs/bar.config'
tup: Added variant 'build-foo' using config file 'configs/foo.config'
对于通常使用多个变体的项目,可以将 configs/ 目录中的文件签入源代码管理。每个开发人员将在软件初始签出期间在“tup init”之后运行“tup 变体”。也可以通过创建构建目录并在其中创建 tup.config 文件来手动创建变体(请参阅变体部分)。此命令仅有助于节省一些步骤,因此您不必手动创建每个构建目录和 tup.config 符号链接。
但是,tup
不再用作正确的更新命令,因为它将更新所有变体。
而是像这样定位它们:
tup build-default