linux中环境变量的设置和makefile文件的编辑

linux中环境变量的设置和makefile文件的编辑

ID:8813921

大小:35.00 KB

页数:5页

时间:2018-04-08

linux中环境变量的设置和makefile文件的编辑_第1页
linux中环境变量的设置和makefile文件的编辑_第2页
linux中环境变量的设置和makefile文件的编辑_第3页
linux中环境变量的设置和makefile文件的编辑_第4页
linux中环境变量的设置和makefile文件的编辑_第5页
资源描述:

《linux中环境变量的设置和makefile文件的编辑》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、环境变量8.1查看环境变量显示所有的环境变量设置à$envà$echo$ENV_VARIABLE显示指定环境变量的设置例:$echo$PATH/bin:/etc:/usr/bin:/tcb/bin8.2设定环境变量$ENV_VARIABLE=XXX;exportENV_VARIABLE例:$将环境变量PATH设定为原PATH值+$INFORMIXDIR/binàPATH=$PATH:$INFORMIXDIR/bin;exportPATH8.3取消环境变量设置$unset$ENV_VARIABLE例:$setGZJ=gzj;export设置环境变量GZJàGZJ$echo$GZJ显示环境变量值à

2、gzjà$unset$GZJ取消环境变量GZJ的设置$echo$GZJ已取消à一makefile规则makefile是一个make的规则描述脚本文件,包括四种类型行:目标行、命令行、宏定义行和make伪指令行(如“include”)。makefile文件中注释以“#”开头。当一行写不下时,可以用续行符“”转入下一行。1.1目标行目标行告诉make建立什么。它由一个目标名表后面跟冒号“:”,再跟一个依赖性表组成。例:example:depfiledeptarget该目标行指出目标example与depfile和deptarget有依赖关系,如果depfile或deptarget有修改,则重新生

3、成目标。example1example2example3:deptarget1deptarget2depfile该目标行指出目标名表中的example1、example2、example3这三个各自独立的目标是用相同的依赖列表和规则生成的。clean:空的依赖列表说明目标clean没有其他依赖关系。目标行后续的以Tab开始的行是指出目标的生成规则,该Tab字符不能以空格代替。例如:example.o:example.cexample.hcc–cexample.c该例子指出目标example.o依赖于example.c和example.h。如果example.c或example.h其中之一改变了

4、,就需要执行命令cc–cexample.c重新生成目标example.o。可以用文件名模式匹配来自动为目标生成依赖表,如:prog:*.c以下是一个简单的makefile的例子:图1最简单的makefile例make使用makefile文件时,从第一个目标开始扫描。上例中的第一个目标为all,所以目标clean不会自动被执行,可以通过命令makeclean来生成目标。1.2命令行命令行用来定义生成目标的动作。在目标行中分号“;”后面的文件都认为是一个命令,或者一行以Tab制表符开始的也是命令。如在上面的makefile例中,第三行以Tab字符开始的cc命令即是一个命令行,说明要生成hello应

5、执行的命令。也可以写成:hello:hello.o;cc–chello–L…一般情况下,命令行的命令会在标准输出中回显出来,如对上面的makefile执行make时,标准输出如下:cc-chello.ccc-ohello-L/usr/X11R6/lib-L/usr/lib-lXm-lXt-lX11hello.occ-chello1.ccc-ohello1-L/usr/X11R6/lib-L/usr/lib-lXm-lXt-lX11hello1.o如果不希望命令本身回显,可在命令前加@字符,如在上例中不希望回显cc–chello.c和cc–chello1.c,可修改makefile文件如下:图2

6、抑制回显的makefile例对该makefile文件执行make时,标准输出如下:cc-ohello-L/usr/X11R6/lib-L/usr/lib-lXm-lXt-lX11hello.occ-ohello1-L/usr/X11R6/lib-L/usr/lib-lXm-lXt-lX11hello1.o可以看出,命令行前有@字符的不回显。1.3宏定义行在makefile中,可以使用宏定义减少用户的输入,例如上例中对hello和hello1的编译选项均为“-L/usr/X11R6/lib-L/usr/lib-lXm-lXt-lX11”,此时可以用宏来代替,如:图3使用宏定义的makefile例

7、宏定义的基本语法是:name=value在定义宏时,次序不重要。宏不需要在使用前定义。如果一个宏定义多次,则使用最后一次的定义值。可以使用“$”字符和“()”或“{}”来引用宏,例如:cc–ohello.o$(CCFLAGS)hello.o也可以将一个宏赋值给另一个宏,但这样的定义不能循环嵌套,如:A=value1B=value2C=$(A)$(B)等价于C=value1value21.4伪指令m

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。