make的简单使用规则

make的使用

1.make基本使用规则

make在使用时可以根据一系列预先设定的规则来运行。这些设定的规则可以记录在一个文件中,默认该文件的名字是Makefile。

make的使用形式为:

make [option] [macrodef] [target]

option指出make的工作行为,make的主要选项有:

-c dir     make在开始运行后的工作目录为指定目录

-f filename      使用指定的文件作Makefile

在make运行时,会向屏幕输出一些信息。为了记录这些信息,可以使用如下命令:

make file > errofile

这样错误信息就都写入了errofile,可以使用编辑软件查看。

 

2.Makefile的基本书写规则

make运行时,主要根据规则文件中记录的规则来判断是否对文件进行更新。例如,工程newos依赖于main.o, f1.o, f2,而main.o依赖于main.c和main.h, f1.o依赖于f1.c和f1.h,f2.o依赖于f2.c。

 

下面是一个newos工程的Makefile

newos:main.o f1.o f2.o

gcc -o example main.o f1.o, f2.o

mian.o: main.c main.h

gcc -c main.c

f1.o: f1.c f1.h

gcc -c f1.c

f2.o:f2.c

gcc -c f2.c

 

以上是一个简单的Makefile文件,make除了上述的简单的功能外,make还有大量高级功能,例如属性变量,宏变量,流程控制等,

 

3 宏的使用

在make中宏的命名可以是任意数字、字母和下划线的组合,不过不能用数字开头。make中宏的定义方式有3中:

=:直接将后面的字符串赋给宏

=:后面跟字符串常量,将它的值赋给宏

+=:宏原来的值加上一个空格,将它的内容赋给宏

宏的引用格式有两种:$(宏名)或${宏名}。宏名也可以嵌套使用,如:

name2 = uestc

index = 2

在Makefile中调用$(name$(index)),就等于调用uestc。

在make中也可以使用shell 环境的宏,不需要重新定义,只要用IMPORT就行了。

 

 

 

 

你可能感兴趣的:(make的简单使用规则)