我正在使用make处理应用程序的构建文件,而这些构建过程使用节点模块。由于我是在本地安装这些节点模块的,因此必须在$PATH
哪里指定调用可执行文件的位置,例如PATH=$(npm bin):$PATH
。
我已经在Makefile中设置了一个变量NPMEXEC := PATH=$(shell npm bin):$$PATH
,并在需要时将其添加到命令中。但是,对于某些较长的任务(例如在运行多个命令的测试过程中),让PATH分配在任务的整个过程中发生会很方便,例如pushd
/ popd
。那可能吗?
“任务”不是通用的术语。我认为你是有条理的。如果您使用的是GNU make,则可以为特定规则设置变量,或更准确地说,为特定目标设置变量。
test-results: export PATH := $(shell npm bin):$$PATH
test-results: test-binary1 test-binary2 test-data2 reference-test-results
test-binary1 >test-results
test-binary2 test-data2 >>test-results
diff test-results reference-test-results
请注意,赋值使用的是make语法,这与shell语法不同。并请注意,在修改变量时,必须使用eager(“ expanded”)分配,而不是=
将创建循环引用的惰性分配。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句