在命令行中,导航到包含上述Makefile的目录,并运行以下命令: bash make print-var 你应该会看到以下输出: text Hello, Makefile! 这表明echo命令已成功打印了MY_VAR变量的值。 综上所述,通过定义变量并在Makefile的规则中使用echo命令,你可以轻松地在Makefile中打印变量的值。
这些变量在规则每次执行时都基于目标和依赖产生新值。例如您可以使用变量‘$@’代替目标文件名,变量‘$<’代替依赖文件名。 下面是自动变量列表: $@ 规则的目标文件名。如果目标是一个档案成员,则变量‘$@’ 档案文件的文件名。对于有多个目标的格式规则(参阅格式规则简介),变量‘$@’是那个导致规则命令运行的目...
@echo ${VETPACKAGES} @echo ${GOFILES} fmt: @gofmt -s -w ${GOFILES} fmt-check: @diff=$$(gofmt -s -d $(GOFILES)); if [ -n "$$diff" ]; then echo "Please run 'make fmt' and commit the result:"; echo "$${diff}"; exit 1; fi; install: @govendor sync -v test: @...
多次定义makefile变量 、、、 我阅读了GNU文档中的部分,但不明白如何在make规则中多次定义make变量。:= b echo $(TARGET),它在运行make时产生以下输出becho btouch ba似乎有一个目标,而自动变量$@确实是a。但是,响应TARGET变量,这也是目标名称,打印b.这里发生了什么事?我希望有任何帮助,最好是链接到文档,澄清...
@echo 在Linux内核的Makefile中,如果你想让@echo输出行号和自己的字符串,你可以使用内置变量$(__LINE__)和$(__FILE__)。这两个变量分别表示当前行号和当前文件名。 以下是一个示例,演示如何在Makefile中输出行号和自定义字符串: debug_message: @echo "Debug message at line $$(__LINE__) in file $$...
在 Makefile 中,它通常用于输出调试信息或者在编译过程中输出消息。 语法格式如下: echo [text] 其中[text] 是要输出的文本。 例如,下面的命令将会在终端中输出"Hello, World!": echo "Hello, World!" 也可以使用变量 message = "Hello, World!" echo $(message) 默认情况下,echo 命令会在输出文本后添加...
使用warning()函数调试变量 在第一章中我们就有强调,在makefile中,大部分语法都遵循makefile的语法。只有在目标规则(目标,依赖,命令)的命令以及以shell()函数执行的部分,是由shell来处理的,遵循shell的规则。 所以是,事实上,如果我们想实时查看makefile中某个变量的值,我们是不能在文本中使用"echo"命令输出变量值...
摘要`@echo "开始生成最终执行文件,请稍候..."`这一句便是将一条信息输出到终端,为何前边有个`@`符号呢?有了这个符号该命令本身就不会输出到终端(不理解,自己去掉或者加上`@`符号试试),实验证明,字符串可以不加引号。 看到`OBJS = main.o`了吗?这就是变量的定义,变量定义遵循一般语言的变量命名规则,可以...
C语言的本质(38)——makefile之变量 我们详细看看Makefile中关于变量的语法规则。先看一个简单的例子: foo = $(bar) bar = Huh? all: @echo$(foo) 我们执行make将会打出Huh?。当make读到foo = $(bar)时,确定foo的值是$(bar),但并不立即展开$(bar),然后读到bar = Huh?,确定bar的值是Huh?,然后...