Python 3.x 使用make run命令从Makefile输入STDIN

Python 3.x 使用make run命令从Makefile输入STDIN,python-3.x,makefile,compilation,stdin,Python 3.x,Makefile,Compilation,Stdin,我有一个程序,试图在其中调用以下命令: make run {FILE} e.g filename.txt 如何创建Makefile,使其能够执行此程序并通过STDIN接受任何文件名 我的Makefile如下所示: run: python execute.py --filename {ANY FILENAME} make的参数是目标。在初始示例中,run和{FILE}之间没有特殊关系。如果要强制使用run前缀,它必须是目标名称的一部分,而不是空格分隔的: run-%: pytho

我有一个程序,试图在其中调用以下命令:

make run {FILE} e.g filename.txt
如何创建Makefile,使其能够执行此程序并通过STDIN接受任何文件名

我的Makefile如下所示:

run:
   python execute.py --filename {ANY FILENAME}

make
的参数是目标。在初始示例中,
run
{FILE}
之间没有特殊关系。如果要强制使用
run
前缀,它必须是目标名称的一部分,而不是空格分隔的:

run-%:
    python execute.py --filename $*

谢谢你,卡尔。我一直在获取(make:**No rule to make target`run'.Stop.),如果我从正在获取的run命令中删除“-%:”(make:not to do do for data.txt)data.txt是我的输入文件名。您需要使用
make-run-data.txt
。因此,我们无法让命令
make-run-data.txt
运行python脚本而不出现错误?有解决办法吗?这不是
make
的工作方式。如果您想解析命令行参数,请编写一个脚本。不过,这个问题与STDIN无关。