makefile 语法分析

makefile 语法分析

ID:13539989

大小:79.03 KB

页数:0页

时间:2018-07-23

makefile 语法分析_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《makefile 语法分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Makefile语法分析第一部分VERSION=2#给变量VERSION赋值PATCHLEVEL=6#给变量PATCHLEVEL赋值SUBLEVEL=22#给变量SUBLEVEL赋值EXTRAVERSION=.6#给变量EXTRAVERSION赋值NAME=HolyDancingManatees,Batman!#给变量NAME赋值#*DOCUMENTATION*#Toseealistoftypicaltargetsexecute"makehelp"#Moreinfocanbelocatedin./README#C

2、ommentsinthisfilearetargetedonlytothedeveloper,donot#expecttolearnhowtobuildthekernelreadingthisfile.#Donot:#ousemake'sbuilt-inrulesandvariables#   (thisincreasesperformanceandavoidhard-to-debugbehavour);#oprint"Enteringdirectory...";MAKEFLAGS+=-rR--no-print-

3、directory#操作符“+=”的作用是给变量(“+=”前面的MAKEFLAGS)追加值。#如果变量(“+=”前面的MAKEFLAGS)之前没有定义过,那么,“+=”会自动变成“=”;#如果前面有变量(“+=”前面的MAKEFLAGS)定义,那么“+=”会继承于前次操作的赋值符;#如果前一次的是“:=”,那么“+=”会以“:=”作为其赋值符#在执行make时的命令行选项参数被通过变量“MAKEFLAGS”传递给子目录下的make程序。#对于这个变量除非使用指示符“unexport”对它们进行声明,它们在整个ma

4、ke的执行过程中始终被自动的传递给所有的子make。#还有个特殊变量SHELL与MAKEFLAGS一样,默认情况(没有用“unexport”声明)下在整个make的执行过程中被自动的传递给所有的子make。##-rR--no-print-directory#-rdisablethebuilt-inimpilictrules.#-Rdisablethebuilt-invariablesetttings.#--no-print-directory。#Weareusingarecursivebuild,soweneed

5、todoalittlethinking#togettheorderingright.##Mostimportantly:sub-Makefilesshouldonlyevermodifyfilesin#theirowndirectory.Ifinsomedirectorywehaveadependencyon#afileinanotherdir(whichdoesn'thappenoften,butit'soften#unavoidablewhenlinkingthebuilt-in.otargetswhichf

6、inally#turnintovmlinux),wewillcallasubmakeinthatotherdir,and#afterthatwearesurethateverythingwhichisinthatotherdir#isnowuptodate.##Theonlycaseswhereweneedtomodifyfileswhichhaveglobal#effectsarethusseparatedoutanddonebeforetherecursive#descendingisstarted.They

7、arenowexplicitlylistedasthe#preparerule.#Toputmorefocusonwarnings,belessverboseasdefault#Use'makeV=1'toseethefullcommandsifdefVifeq("$(originV)","commandline")KBUILD_VERBOSE=$(V)endifendififndefKBUILD_VERBOSEKBUILD_VERBOSE=0endif#“ifdef”是条件关键字。语法是ifdef

8、le-name>;;else;endif#ifdef只检验一个变量是否被赋值,它并不会去推导这个变量,并不会把变量扩展到当前位置。#“ifeq”与“ifdef”类似。#“ifeq”语法是ifeq(;,;),功能是比较参数“arg1”和“arg2”的值是否相同。##函数origin并不操作变量

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

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

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