ZKX's LAB

makefile的输入变量 makefile中定义的变量,如果包含冒号或者分号应该怎么写

2020-07-22知识7

写makefile中出现两个等于号赋值给变量是什么意思 如下 第二个等号是数据内容如:CSTANDARD=-std=gnu99表示CSTANDARD 的内容是-std=gnu99std=gnu99 中是编译选项中的赋值,表示采用gnu99标准linux中环境变量的设置和makefile文件的编辑,最好能详细一点的资料,谢谢! 八 环境变量8.1 查看环境变量env ? 显示所有的环境变量设置echo$ENV_VARIABLE ? 显示指定环境变量的设置例:echo$PATHbin:/etc:/usr/bin:/tcb/bin8.2 设定环境变量ENV_VARIABLE=XXX;export ENV_VARIABLE例:PATH=$PATH:$INFORMIXDIR/bin;export PATH ? 将环境变量PATH设定为原PATH值+$INFORMIXDIR/bin8.3 取消环境变量设置unset$ENV_VARIABLE例:set GZJ=gzj;export GZJ ? 设置环境变量GZJecho$GZJgzj ? 显示环境变量值unset$GZJ ? 取消环境变量GZJ的设置echo$GZJ? 已取消一 makefile规则makefile是一个make的规则描述脚本文件,包括四种类型行:目标行、命令行、宏定义行和make伪指令行(如“include”)。makefile文件中注释以“#”开头。当一行写不下时,可以用续行符“\\”转入下一行。1.1 目标行目标行告诉make建立什么。它由一个目标名表后面跟冒号“:”,再跟一个依赖性表组成。例:example:depfile deptarget该目标行指出目标example与depfile和deptarget有依赖关系,如果depfile或deptarget有修改,则重新生成目标。example1 example2 example3:deptarget1 deptarget2 depfile该目标行指出目标名表中的example1、example2、。makefile中的变量与程序中的变量有什么区别 判断一个变量有没有定义,如果没有定义,则现在就定义,这在判断一个变量是否由上一级Makefile export该变量,因为在大的软件中,一般由上层的Makefile export 相关的CC、CFLAGS等变量,而最后一级目录的Makefile不需要 关心CC等的定义Linux:怎么显示Makefile中的变量? make 的时候 加上参数-p 或者-print-data-basemakefile怎么打印环境变量 MakeFile中的变量定义一般在我们书写Makefile时,各部分变量引用的格式我们建议如下:1.make变量(Makefile中定义的或者是make的环境变量)的引用使用“$(VAR)”格式。2.出现在规则命令行中shell变量(一般为执行命令过程中的临时变量,它不属于Makefile变量,而是一个shell变量)引用使用shell的“$tmp”格式。3.对出现在命令行中的make变量我们同样使用“$(CMDVAR)”格式来引用。MakeFile中给变量赋值有以下两种方式1.递归展开式,使用=直接定义,例子如下:foo=$(bar)bar=$(ugh)ugh=Huh?all:;echo$(foo)执行“make”将会打印出“Huh?整个变量的替换过程时这样的:首先“$(foo)”被替换为“$(bar)”,接下来“$(bar)”被替换为“$(ugh)”,最后“$(ugh)”被替换为“Hug?整个替换的过程是在执行“echo$(foo)”是进行的。这种方式的缺点是缺点1:使用此风格的变量定义,可能会由于出现变量递归定义而导致make陷入到无限的变量展开过程中,最终使make执行失败.缺点2:这种风格的变量定义中如果使用了函数,那么包含在变量值中的函数总会在变量被引用的地方执行(变量被展开时)。2.直接展开式这种风格的变量使用“:=”来定义变量。在使用“:=”定义变量时,变量值中。makefile能不能接受输入参数 应该叫传入参数或者变量,可以的。你可以直接在Make的时候,在命令行下面传入一个参数或者变量,它会覆盖掉Makefile里面的变量或者参数。比如,在你的Makefile里面定义了一个变量age.PHONY:allAGE=12all:echo\"age=$(AGE)\"你make的时候,打印信息是age=12当你使用make AGE=20时,打印的信息就是:age=20,AGE作为参数传入,然后会覆盖掉Makefile里面定义的变量。更多深入的教程,可以:Makefile工程实践makefile中定义的变量,如果包含冒号或者分号应该怎么写 直接写有什么问题呢请教Makefile的选择输入给一个变量赋值的问题 [变量]值为空格的变量[写法]nullstring:=space:=$(nullstring)#end of the line[引用]先用一个Empty变量来标明变量的值开始了,而后面采用“#”注释符来表示变量定义的终止.[说明]$(nullstring)和#之间是有一个空格的,该空格就是.如何使用makefile中的自动变量,编写makefile文件? EXE=2-5 SRC=2-5-main.c 2-5-fun_sum.c 2-5-fun_avg.c OBJ=$(SRC:.c=.o)$EXE:$OBJ gcc-o$@$%.o:%.c gcc-c$$@

#makefile#环境变量#linux环境变量#变量#make

随机阅读

qrcode
访问手机版