如何向makefile中传递未预定义的变量
时间: 2024-02-04 11:01:55 浏览: 99
您可以在 GNU Make 命令行上使用自定义变量,并在 Makefile 中使用它们。这些变量在命令行上定义,但在 Makefile 中未定义。您可以使用 `$()` 或 `${}` 引用这些变量。
例如,假设您有一个 Makefile 和一个未定义的变量 `MYVAR`,并且您想要在命令行上传递该变量的值。您可以使用以下命令:
```
make MYVAR=myvalue
```
然后,在 Makefile 中,您可以使用 `$()` 或 `${}` 来引用该变量:
```
build:
gcc -Wall -Werror -o $(TARGET) $(SRC_FILES) -D$(MYVAR)
```
请注意,如果您在 Makefile 中定义了 `MYVAR` 变量,则命令行上定义的值将覆盖 Makefile 中定义的值。如果您希望命令行上定义的值仅在特定的目标中使用,则可以在该目标中使用特定的变量名。例如:
```
build:
gcc -Wall -Werror -o $(TARGET) $(SRC_FILES) -D$(MYVAR)
debug:
make build MYVAR=mydebug
```
在上面的示例中,`debug` 目标使用 `MYVAR` 变量的不同值。
阅读全文