$< 是什么意思? (美元符号+左三角括号)在makefile中是什么意思?

发布于 2025-01-05 19:11:59 字数 471 浏览 0 评论 0 原文

我试图理解一个执行 Javac 并向其传递一些简单参数的简单命令行字符串。完整的命令行是:

javac -d $(OUTPATH) -sourcepath $(SOURCEPATH) $<

除了最后的标记:$< 之外,这一行中的所有内容对我来说都是简单易懂的。

这些标记是什么意思?

附录:确实,评论者是正确的。该行出现在 makefile 中。现在对我来说很明显,但当我写这个问题时,makefile 被传递给 make 并且不是 shell 脚本。

请注意: $ 做什么?和 $@ 代表 Makefile? 也讨论了这一点(当我查找以前的问题时没有看到它)。

I am trying to understand a simple command-line string that executes Javac and passes it some simple arguments. The complete command line is:

javac -d $(OUTPATH) -sourcepath $(SOURCEPATH) 
lt;

Everything in this line is straightforward and understandable to me except for the final tokens: $<.

What do these tokens mean?

ADDENDUM: Indeed, the commenters are correct. This line occurs within a makefile. It is obvious to me now, but not when I wrote this question, that a makefile is passed to make and is not a shell script.

Please note: What do $< and $@ represent in a Makefile? also discusses this (I did not see it when I looked for previous questions about this).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情话难免假 2025-01-12 19:11:59

这看起来像是 makefile 中的内容,而不是命令行中的内容。在这种情况下,$< 扩展为当前目标的第一个先决条件。即 .class 目标所依赖的 .java 文件。

This looks like something from a makefile, not a command line. In that case, $< expands to the first prerequisite of the current target. That is, the .java file that the .class target depends on.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文