linux中环境变量的设置与makefile文件的编辑.docVIP

linux中环境变量的设置与makefile文件的编辑.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
环境变量 8.1 查看环境变量 显示所有的环境变量设置($ env ($ echo $ENV_VARIABLE 显示指定环境变量的设置 例: $ echo $PATH /bin:/etc:/usr/bin:/tcb/bin 8.2 设定环境变量 $ ENV_VARIABLE=XXX;export ENV_VARIABLE 例: $ 将环境变量PATH设定为原PATH值+$INFORMIXDIR/bin(PATH=$PATH:$INFORMIXDIR/bin;export PATH 8.3 取消环境变量设置 $ unset $ENV_VARIABLE 例: $ set GZJ=gzj;export 设置环境变量GZJ(GZJ $ echo $GZJ 显示环境变量值(gzj ($ 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、example3这三个各自独立的目标是用相同的依赖列表和规则生成的。 clean: 空的依赖列表说明目标clean没有其他依赖关系。 目标行后续的以Tab 开始的行是指出目标的生成规则,该Tab字符不能以空格代替。例如: example.o:example.c example.h cc –c example.c 该例子指出目标example.o依赖于example.c和example.h。如果example.c或example.h其中之一改变了,就需要执行命令cc –c example.c重新生成目标example.o。 可以用文件名模式匹配来自动为目标生成依赖表,如: prog: *.c 以下是一个简单的makefile的例子: 图 1 最简单的makefile例 make使用makefile文件时,从第一个目标开始扫描。上例中的第一个目标为all,所以目标clean不会自动被执行,可以通过命令make clean来生成目标。 1.2 命令行 命令行用来定义生成目标的动作。 在目标行中分号“;”后面的文件都认为是一个命令,或者一行以Tab制表符开始的也是命令。 如在上面的makefile例中,第三行以Tab字符开始的cc命令即是一个命令行,说明要生成hello应执行的命令。也可以写成:hello:hello.o;cc –c hello –L… 一般情况下,命令行的命令会在标准输出中回显出来,如对上面的makefile执行make时,标准输出如下: cc -c hello.c cc -o hello -L/usr/X11R6/lib -L/usr/lib -lXm -lXt -lX11 hello.o cc -c hello1.c cc -o hello1 -L/usr/X11R6/lib -L/usr/lib -lXm -lXt -lX11 hello1.o 如果不希望命令本身回显,可在命令前加@字符,如在上例中不希望回显cc –c hello.c和cc –c hello1.c,可修改makefile文件如下: 图 2 抑制回显的makefile例 对该makefile文件执行make时,标准输出如下: cc -o hello -L/usr/X11R6/lib -L/usr/lib -lXm -lXt -lX11 hello.o cc -o hello1 -L/usr/X11R6/lib -L/usr/lib -lXm -lXt -lX11 hello1.o 可以看出,命令行前有@字符的不回显。 1.3 宏定义行 在makefile中,可以使用宏定义减少用户的输入,例如上例中对hello和hello1的编译选项均为“-L/usr/X11R6/lib -L/usr/lib -lXm -lXt -lX1

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档