我正在尝试自动生成symfony的php文件。
我正在从文本文件中读取数据,然后尝试将其插入到命令中
这是我在make文件中的代码

MYFILE = document.txt
READ_ENTITY=eval `perl -plne '$$\ = " "' $(MYFILE)`

FIELDS = $(call READ_ENTITY)
mytest:
    commands --fields="$(FIELDS)"

基本上document.txt是单独行中的字段配置。首先,我使用perl用空格连接所有行,然后希望perl的输出是变量fields。我想在命令中插入

最佳答案

你想要的是$(shell...)

READ_ENTITY:=$(shell perl -plne '$$\ = " "' $(MYFILE))

我建议使用:=作业,这样评估只做一次。否则,每次计算READ_ENTITY时将生成一个shell。(请参见关于此的documentation。)
反勾号在make的语法中并不特殊。以下
FOO=`ls`

只需将字符串"`ls`"赋给变量FOO
我不清楚你希望$(call READ_ENTITY)位做什么。

关于linux - 评估不适用于Linux Makefile,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21772655/

10-09 07:25
查看更多