#make及makefile

make及makefile

make命令简介:

要使用make,首先需要写一个makefile文件. 描述了软件包中各文件的关系,提供更新每个文件的命令。
如:

gcc module1.o module2.o -o exel

可以这样写Makefile文件:

exel:module1.o module2.o
    gcc module1.o module2.o -o exel

复杂化为:

module1.0:module1.c module1.h
    gcc -c moduel1.c

Makefile文件的格式如下:

目标:依赖项列表
    【命令】

#表示注释,\作为后接换行符来换行
命令行首需要空格,为一个制表位。

Makefile文件推荐首字母大写,安放在源程序相同的目录下。

shell使用make命令时,默认对Makefile第一行目标进行维护。层层递进。

make程序也可以指定要维护的目标:

make module1.o

也可以制定自己取名字的Makefile:

make -f filename




Makefile中的环境变量:

用条件语句把前面的Makefile重写一遍:

OBJS=module1.o module2.o
C=-c
exel:$(OBJS)
    gcc $(OBJS) -o exel
module1.o:module1.c module1.h
    gcc C mdoule1.c

某些默认变量具有特殊含义。参看博客.




伪目标

Makefile文件中存在这种情况:有的目标存在只是为了形成一条规则。

如:

all:exel1 exel2 exel3

作用:

可以维护全部exel

如:

clean:rm -f exe*

作用:

中间文件清理




条件语句

主要三个关键字:ifeq, else, endif

ifeq( $(VAR), 1)
    gcc -o exe1 module
else
    gcc -o exe2 module
endif

调试make

通过-d选项打印调试信息。



进阶

Makefile隐含规则的书写

CopyRight@Cheng 20170102
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值