我是靠谱客的博主 缓慢含羞草,最近开发中收集的这篇文章主要介绍Makefile 特殊符号 - `-` `@` `+` `$` `$$`
Makefile 特殊符号 -
-
@
+
$
$$
,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Makefile 特殊符号 -
-
@
+
$
$$
-
@
+
$
$$
1. -
符号 (连字符)
任何命令行的任何非零退出状态都被忽略,忽略当前命令行执行时所遇到的错误。
make 在执行命令的时候,如果遇到 error,会退出执行。加上减号的目的是即便此命令行执行出错,那么也不要管,继续执行 make。
通常删除或者创建文件时,遇到文件不存在或者已经创建。如果希望忽略掉错误,继续执行,就可以在命令行前面添加 -
。
.PHONY : clean
clean :
-rm $(objects)
2. @
符号 (at 符号)
通常 makefile 会将其执行的命令行在执行前输出到屏幕上。如果将 @
添加到命令行前,这个命令将不被 make 回显出来,即不显示命令本身而只显示结果。
# ============================================================================
# Name : Makefile
# Author : Yongqiang Cheng
# Version : Feb 16, 2019
# Copyright : Copyright 2019 ForeverStrong License
# Description : Workspace in C, Ansi-style
# ============================================================================
ifdef DEFINE_VAR
VAR = "!!!Hello World!!!"
endif
ifeq ($(OPT), define)
VAR ?= "!FIRST!"
endif
ifeq ($(OPT), add)
VAR += "!SECOND!"
endif
ifeq ($(OPT), recover)
VAR := "!THIRD!"
endif
x = cheng
y = $(x) yong
x = qiang
m := face
n := $(m) person
m := pedestrian
all :
@echo Compiling Kernel Module
echo Compiling Kernel Module
@echo $(VAR)
@echo $(x)
@echo $(y)
@echo $(m)
@echo $(n)
strong@foreverstrong:~/Desktop/makefile_work$ make DEFINE_VAR=true
Compiling Kernel Module
echo Compiling Kernel Module
Compiling Kernel Module
!!!Hello World!!!
qiang
qiang yong
pedestrian
face person
strong@foreverstrong:~/Desktop/makefile_work$
3. +
符号 (加号)
使用加号修饰符让命令始终执行。命令行执行时不受到 make 的 -n
-t
-q
三个参数的影响,忽略这三个参数。
如果 make 执行时,使用 -n
或 --just-print
。该参数显示命令,不会执行命令。这个功能有利于调试 Makefile,方便查看执行的命令形式和顺序。
# ============================================================================
# Name : Makefile
# Author : Yongqiang Cheng
# Version : Feb 16, 2019
# Copyright : Copyright 2019 ForeverStrong License
# Description : Workspace in C, Ansi-style
# ============================================================================
ifdef DEFINE_VAR
VAR = "!!!Hello World!!!"
endif
ifeq ($(OPT), define)
VAR ?= "!FIRST!"
endif
ifeq ($(OPT), add)
VAR += "!SECOND!"
endif
ifeq ($(OPT), recover)
VAR := "!THIRD!"
endif
x = cheng
y = $(x) yong
x = qiang
m := face
n := $(m) person
m := pedestrian
all :
@echo Compiling Kernel Module
@echo $(VAR)
echo Compiling Kernel Module
@echo $(VAR)
@+echo Compiling Kernel Module
@echo $(VAR)
@echo $(x)
@echo $(y)
@echo $(m)
@echo $(n)
strong@foreverstrong:~/Desktop/makefile_work$ make
Compiling Kernel Module
echo Compiling Kernel Module
Compiling Kernel Module
Compiling Kernel Module
qiang
qiang yong
pedestrian
face person
strong@foreverstrong:~/Desktop/makefile_work$
strong@foreverstrong:~/Desktop/makefile_work$ make -n
echo Compiling Kernel Module
echo
echo Compiling Kernel Module
echo
echo Compiling Kernel Module
Compiling Kernel Module
echo
echo qiang
echo qiang yong
echo pedestrian
echo face person
strong@foreverstrong:~/Desktop/makefile_work$
4. $
符号 (美元符号)
美元符号 $
,扩展打开 makefile 中定义的变量。
5. $$
符号
$$
符号,扩展打开 makefile 中定义的 shell 变量。
最后
以上就是缓慢含羞草为你收集整理的Makefile 特殊符号 - `-` `@` `+` `$` `$$` Makefile 特殊符号 - - @ + $ $$ 的全部内容,希望文章能够帮你解决Makefile 特殊符号 - `-` `@` `+` `$` `$$` Makefile 特殊符号 - - @ + $ $$ 所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复