Makefile:
XDG_CONFIG_HOME?=$HOME/.config我希望将该行转换为Plan9 mkfile语法。
我试过了
XDG_CONFIG_HOME=`{if(~ $XDG_CONFIG_HOME '') echo $HOME/.config; if not echo $XDG_CONFIG_HOME}虽然很管用但很丑。有别的选择吗?
发布于 2020-04-19 14:52:04
mk(1)不提供这样一种定义变量的内置方式,只有当它们不是非空环境变量时。实际上,贝尔实验室的任何make(1)和POSIX make(1)都没有提供这样的方法,?=语法只是一个GNU扩展。
通常您要做的是在mkfile中正常地设置变量:
XDG_CONFIG_HOME = $home/.config并覆盖mk(1)命令中的变量:
; mk 'XDG_CONFIG_HOME='^$home^'/cfg'发布于 2019-03-18 09:23:51
在shell中,":-“用于在变量没有值的情况下将变量设置为默认值:
XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config}https://stackoverflow.com/questions/55207871
复制相似问题