makefile 预定义变量的默认值怎么用?

makefile 预定义变量的默认值怎么用


ibeautiful
浏览 843回答 4
4回答

Cats萌萌

1.Makefile 基本结构Makefile 是 Make 读入的惟一配置文件,因此本节的内容实际就是讲述 Makefile 的编写规则。在一个 Makefile 中通常包含如下内容:1)需要由 make 工具创建的目标体(target),通常是目标文件或可执行文件;2)要创建的目标体所依赖的文件(dependency_file);3)创建每个目标体时需要运行的命令(command)。它的格式为:target: dependency_filescommand注意:在 Makefile 中的每一个 command 前必须有“Tab”符,否则在运行 make 命令时会出错。例如,有两个文件分别为 hello.c 和 hello.h,创建的目标体为 hello.o,执行的命令为 gcc。编译指令:gcc –c hello.c,那么,对应的 Makefile 就可以写为:#The simplest examplehello.o: hello.c hello.hgcc –c hello.c –o hello.o接着就可以使用 make了。使用make 的格式为:make target,这样 make 就会自动读入Makefile(也可以是首字母小写 makefile)并执行对应 target 的 command 语句,并会找到相应的依赖文件。如下所示:[root@localhost makefile]# make hello.ogcc –c hello.c –o hello.o[root@localhost makefile]# lshello.c hello.h hello.o Makefile可以看到,Makefile 执行了“hello.o”对应的命令语

Smart猫小萌

$(result) = sss 这行错了,删掉,改成result = sssall:echo stecho $(result)

哔哔one

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执行失败. 
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Oracle