makefile - 如何在GNU make中获取makefile的父目录的基本名称?

标签 makefile gnu-make

假设您想要一个生成文件以生成一个以父目录命名的文件。一种方法是对目标名称进行硬编码,但这不是很“通用”,例如

TARGET := dirname.pdf

$(TARGET): $(TARGET:.pdf=.tex)
    pdflatex $(@:.pdf=.tex)

通过 make 函数检索目录名称会更好。关于如何检索 makefile 的完整路径(例如, https://stackoverflow.com/a/18137056/1905491 )而不是父目录的名称,SA 上有各种问题(和答案)...

在 GNU make 中最有效和最便携的方法是什么?

最佳答案

为什么不直接使用内置的 file name functions ?

TARGET := $(notdir $(CURDIR))

我想我不确定“父目录”是什么意思;这有点模棱两可。带有路径名和您想要的结果的特定示例将使其更易于理解。

关于makefile - 如何在GNU make中获取makefile的父目录的基本名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52783386/

相关文章:

docker - 在传递给 docker run 命令的变量中转义 $

bash - 如何使用 makefile 更改所有文件扩展名

c - "make target"在 "make clean"之后不工作

makefile - 我可以在包含的 makefile 中有局部变量吗?

gnu-make - 如何在gnu make中拆分路径名?

linux - 适用于 Linux 的可移植 gcc

c++ - 在 Qiana 上构建 opencv 失败

makefile -/bin/sh : 1: Syntax error: word unexpected (expecting ")")

c++ - Cmake 找不到使用 "link_directories"的库