makefile中的变量

来源:互联网 发布:北京计算机编程培训学校 编辑:程序博客网 时间:2024/06/10 09:14

一个简单的例子:

edit:main.o kbd.o command.o display.o \

               insert.o search.o files.o

cc -o edit main.o kbd.o command.o display.o \

               insert.o search.o files.o

我们可以看到*.o文件的字符串被重复了2次,如果我们的工程需要加入一个新的.o文件,那么我们就需要在两个地方加,那么问题就来了,如果是简单的程序,在两个地方加也不累,但是如果是一个大的项目,makefile会变得很复杂,一方面代码要敲很多次,而且有可能会忘掉一个需要加入的地方,从而导致编译失败,所以为了makefile的易维护,在makefile中我们可以使用变量,其实就是一个字符串,相当于C语言中的宏,其作用也完全与宏相同,它能起到 完全替代 的作用,所以就不仅仅局限于某一个变量,而是一大堆字符串了。

变量的定义就是使用 “objects = xxxxxxxxxxxxx”,引用则使用$(objects)

    举例:

objects = main.o kbd.o command.o display.o \insert.o search.o files.o utils.o
edit: $(objects)

cc -o edit $(objects)