Makefile文件里的shell语法
来源:互联网 发布:sql 某一字段的合计 编辑:程序博客网 时间:2024/06/08 03:34
在Makefile中写shell代码有点诡异,和不同的shell语法不太一样,如果不了解,看Makefile会莫名其妙。下面总结了一些。
1:尽在Makefile文件的目标项冒号后的另起一行的代码才是shell代码。
eg:
xx = xx1 // 这里是makefile代码
yy:xx = xx2 // 这是是makefile代码,makefile允许变量赋值时,=号两边留空格
yy:
xx=xx3 // 只有这里是shell代码 ,shell不允许‘=’号两边有空格哦。
有一个例外:
xx=$(shell 这里的代码也是shell代码)
2:Makefile中的shell,每一行是一个进程,不同行之间变量值不能传递。所以,Makefile中的shell不管多长也要写在一行。
eg:
SUBDIR=src example
all:
@for subdir in $(SUBDIR); // 这里往下是一行shell
do
echo "building " $$subdir;
done
if [ ${RELEASE} -eq 1 ]; then echo release; else echo debug; fi
3:Makefile中的变量以$开头, 所以,为了避免和shell的变量冲突,shell的变量以$$开头
eg1:从当前目录路径中提取出 /application 或 /base_class 之前的部分
PROJECT_ROOT_DIR = $(shell pwd | awk -F/application|/base_class {print $$1})
eg2:上例中$$subdir就是shell中的变量, 而$(SUBDIR)是Makefile的中的变量
文章摘要:
大概只要知道Makefile的人,都知道Makefile可以调用Shell脚本。但是在实际使用时,并不那么简单,一些模棱两可的地方可能会让你抓狂。你若不信,可以先看几个例子,想象一下这些这些例子会打印什么内容,记下你想象的结果,然后在计算机上运行这些例子,对照看一下。
- Makefile文件里的shell语法
- Shell脚本语法---在Makefile等文件
- makefile中的shell语法
- makefile中的shell语法
- makefile中的shell语法
- makefile中的shell语法
- makefile中的shell语法
- makefile中的shell语法
- makefile中的shell语法
- makefile中的shell语法
- Shell脚本语法---在Makefile等文件…
- MAKEFILE文件的语法规则和配置
- 一篇简单的makefile文件语法讲解
- makefile文件的语法规则和配置
- makefile与shell语法易混点
- makefile中的shell语法 || Makefile中的@
- makefile中的shell语法 || Makefile中的@
- makefile 中shell的简单语法(简单总结)
- Git -> git log笔记
- STM8L10X写内部EEPROM
- Android中Application的作用
- 如你所愿地,生活
- 关于设备各类属性获取,如电量,CPU,型号等
- Makefile文件里的shell语法
- 如你所愿地,生活
- DOS命令——calcs和icacls
- 什么时候都要进步
- 深入浅出UML类图(一)
- Android 动画原理
- 未能正确加载“VSTS for Database Professionals Sql Server Data-tier Application”包。
- "试图执行的操作不受支持"解决办法
- Spring中@Autowired注解、@Resource注解的区别