如何在makefile里添加分隔符
时间: 2023-08-11 13:13:29 浏览: 177
在 Makefile 中,分号 (;) 用于分隔命令,使得多条命令可以在同一规则中执行。如果您希望在命令之间添加分隔符,可以使用反斜杠 (\) 进行转义。
例如,以下规则将生成两个目标文件:
```
all: target1 target2
target1:
cmd1 ; \
cmd2 ; \
cmd3
target2:
cmd4 ; \
cmd5 ; \
cmd6
```
在这个例子中,分号 (;) 用于分隔多条命令,每个命令都必须在单独的一行上。由于 Makefile 在读取时会将每行末尾的换行符去掉,因此需要使用反斜杠 (\) 进行转义,以确保命令之间的分隔符被正确解析。
相关问题
makefile:5 ***遗漏分隔符 遗漏分隔符 %s。停止
在Makefile中,`%s`是一个特殊的占位符,用于表示变量或命令的替换部分。当你看到类似`makefile:5 ***遗漏分隔符 遗漏分隔符 %s`这样的错误信息时,通常意味着在Makefile的第五行(line 5)可能存在一个格式化错误,可能是忘记在字符串中插入变量或者在需要使用占位符的地方没有加上正确的格式。
这个错误通常发生在你尝试使用`%s`来引用一个未定义的变量,或者在字符串连接中没有正确地放置`%s`。解决方法包括:
1. 确保在包含`%s`的字符串后面有一个`$`,例如`${VAR}`,用来表示需要替换的变量。
2. 检查第五行的语法,看是否在正确的位置添加了变量或参数。
3. 检查是否有正确的分隔符(通常是空格、制表符或者`;`)在变量插入点。
Makefile:2: *** 缺失分隔符。 停止。
这个错误通常发生在 Makefile 文件中的一个或多个命令行规则中缺少了分隔符。 分隔符用于将每个规则中的命令分开,以便 Make 工具可以正确解析它们。
要解决此错误,请检查 Makefile 文件中的每个规则,并确保每个规则的命令之间使用正确的分隔符。 通常,分隔符是制表符或空格字符。 另外,确保每个规则都以 TAB 字符开头。 如果您使用空格而不是 TAB 字符,则会导致类似的错误。
以下是一个示例 Makefile 文件,其中包含一个包含错误的规则:
```
all:
gcc -o program program.c
gcc -o another_program another_program.c
```
在这个例子中,第二个命令与第一个命令之间缺少分隔符,因此 Make 工具无法正确解析该规则。 要解决此错误,您可以在第二个命令之前添加一个制表符或空格字符,如下所示:
```
all:
gcc -o program program.c
gcc -o another_program another_program.c
```
请注意,第二个命令之前有一个制表符,这是一个正确的分隔符。 通过修复此 Makefile 文件中的所有规则中的分隔符错误,您可以解决此错误。
阅读全文