Makefile介绍

来源:互联网 发布:电子软件开发 编辑:程序博客网 时间:2024/06/06 05:50

1Makefile简介

在一个Makefile文件中,通常包括以下内容:

1)目标

2)目标依赖的文件

3)目标的生成命令

格式为:

target : dependency_files

command

命令command行必须以TAB开头。

使用make target生成目标。这样make可以自动读入Makefile,执行相应的targetcommand语句,并会找到相应的依赖文件。

Makefile中,可以使用“\”进行换行;使用“#”进行行注释。

2Makefile变量

Makefile中可以创建和使用变量。变量是在Makefile中定义的名字,用来代替一个文本字符串,该文本字符串称为该变量的值。

Makefile中的变量定义有两种方式:一种是递归展开方式,一种是简单方式。

递归展开方式的定义格式为:VAR=var

简单方式的定义格式为:VAR:=var

Makefile中变量的使用格式为$(VAR)

Makefile常见的自动变量:

$*:不包含扩展名的目标文件名称

$+:所有的依赖文件以空格分开,并以出现的先后顺序,可能包含重复的依赖文件。

$<:第一个出现的依赖文件。

$?:所有时间戳比目标文件晚的依赖文件,并以空格分开。

$@:目标文件的完整名称。

$^:所有不重复的依赖文件,以空格分开。

$%:如果目标是归档成员,则该变量表示目标的归档成员名称。

预定义变量:

AR:库文件维护程序的名称,默认为ar

AS:汇编程序的名称,默认为as

CCC编译器的名称,默认为cc

CPPC预编译器的名称,默认为$(CC) –E

CXXC++编译器的名称,默认为g++

FCFORTRAN编译器的名称,默认为f77

RM:文件删除程序的名称,默认为rm –f

ARFLAGS:库文件维护程序的选项。无默认值。

ASFLAGS:汇编程序的选项。无默认值。

CFLAGSC编译器的选项。无默认值。

CPPFLAGSC预编译器的选项。无默认值。

CXXFLAGSC++编译器的选项。无默认值。

FFLAGSFORTRAN编译器的选项。无默认值。

0 0
原创粉丝点击