我有以下在 make gnu 文件上运行的代码
apps := $(shell tbd run apps)
apps := $(subst ],,$(subst [,,$(app)))
现在我想打印应用程序值,我尝试了
@echo $(app)
我得到了错误
Makefile:12: *** 命令在第一个目标之前开始。停止。
更新:
目前我的代码就像
apps := $(shell tbd run apps)
apps := $(subst ],,$(subst [,,$(apps)))
build:
@for app in $(apps) ; do \
bsd start $$app ; \
done
如果我这样尝试,就会出现错误
start:
apps := $(shell tbd run apps)
apps := $(subst ],,$(subst [,,$(apps)))
build:
@for app in $(apps) ; do \
bsd start $$app ; \
done
最佳答案
您无法将 Makefile 函数调用有意义地放在 shell 调用中。我猜你真的只是在寻找
build:
tbd run apps \
| sed 's/\[//;s/\]//' \
| xargs -n 1 bsd start
关于linux - 尝试从 gnu make 中的命令获取值时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52815860/