在Unix和Windows中编写一个只能工作^ TM的Makefile是一个很大的痛苦,因为不同的shell解释器(sh,command.com,cmd.exe,powershell.exe,...)支持非常不同的语法$HOME
vs %userprofile%
,rm -rf
vs del /s /q
,&&
vs &
等基本内容,等等。
是否有构建系统有助于将配置引导到跨平台支持?例如,路径可以写成Unix风格(~/go/bin/hello
),并在传统Windows环境中执行任务时自动转换为Windows路径(并在cygwin环境中作为Unix路径维护!)
或者构建系统用户是否坚持维护大量凌乱的条件粘合代码?我喜欢我的CLI工具,并且不希望将数百个CLI应用程序重写为Gradle / Gulp插件。