【变量使用】
shell:
${var}
Makefile:
$(var)
或${var}
【字符串】
shell:
123abc
"123abc"(可转义)
'123abc'(绝对字符串)
Makefile:
"123abc"
或:'123abc'
【命令替换】
shell:
variable=`commands`
variable=$(commands)
Makefile:
variable=`commands`
variable=$(shell commands)
variable=${shell commands}
【打印】
shell:
echo
Makefile:
echo (把echo本身也打印出来)
或@echo
【条件判断】
shell:
if命令
Makefile:
ifeq ifneq ifdef ifndef
格式:ifeq (ARG1, ARG2)
【函数】
shell:
自定义
Makefile:
通用格式:
$(<function> <arguments>)
或:${<function> <arguments>}
举例:
OBJ=$(findstring a,a b c)
OBJ=$(filter %.c %.o,1.c 2.o 3.s)
【括号特性】
shell:
1、变量使用${}
2、命令替换使用$()
Makefile:
1、变量使用${}与$()相同
2、命令替换${}与$()相同
3、函数${}与$()相同
4、条件判断使用()
5、两种括号相同情况下,一般使用$()
Shell与Makefile语法比较
本文探讨了Shell脚本和Makefile之间的语法差异,包括变量使用、字符串处理、命令替换、打印、条件判断以及函数应用。详细阐述了各自在括号特性上的不同,并举例说明了如何在两者中进行相应操作。对于开发者来说,理解这些差异有助于更高效地管理和构建项目。
1943

被折叠的 条评论
为什么被折叠?



