SUBDIRS=$(notdir $(shell find . -maxdepth 1 -type d))
时间: 2024-04-15 14:26:29 浏览: 206
(完整word版)Oracle-GoldenGate-双向复制测试.doc
这是一个 Makefile 中的语法,用于获取当前目录下的所有子目录的名称。
让我们逐步解析这个语句:
1. `find . -maxdepth 1 -type d`:这个命令使用 find 命令来查找当前目录下的所有子目录。`.` 表示当前目录,`-maxdepth 1` 表示只搜索当前目录的一层子目录,`-type d` 表示只搜索目录类型。
2. `$(shell ...)`:这是一个 Makefile 中的函数,它会执行括号内的命令,并将其输出结果返回给变量。
3. `notdir`:这是一个 Makefile 中的函数,用于删除路径部分,只保留文件或目录的名称部分。
4. `SUBDIRS = $(notdir $(shell find . -maxdepth 1 -type d))`:这个语句将通过执行 `find` 命令获取到的子目录列表赋值给 `SUBDIRS` 变量。`$(shell ...)` 执行了 `find` 命令,并将其输出结果传递给 `notdir` 函数,最终得到的是当前目录下所有子目录的名称列表。
这样,`SUBDIRS` 变量就包含了当前目录下所有子目录的名称。可以在 Makefile 中之后的部分使用 `SUBDIRS` 变量来进行相关操作。
阅读全文