有没有办法从Makefile中将“$ @”写入新文件?

时间:2012-01-31 08:37:46

标签: makefile

我一直在尝试从Makefile创建一个可执行文件来运行java程序,我需要可执行文件来获取文本:java program $ @。这样任何参数在运行时都会传递给程序。

在Makefile中,我一直试图回应新文件:

@echo "java Program $@" >> exec

然而,$ @导致“all”被写入exec,并且$$ @在写入exec时变为空白。还有另一种方法可以在Makefile中转义此序列吗?我基本上需要它来忽略$ @。

感谢您的时间。

1 个答案:

答案 0 :(得分:4)

$$是逃避Make的$的正确方法,但结果将由Bash扩展。试试这个:

@echo 'java Program $$@' >> exec

Bash中的单引号意味着变量不会扩展。