Linux环境下的make和makefile详解(二)

一、Makefile的示例

objects = main.o mouse.o command.o display.o
CC = gcc
CFLAGS = -Wall -O2 -g
game : $(objects)
$(CC) -o edit $(objects)
main.o : defs.h
mouse.o : defs.h command.h
command.o : defs.h command.h
display.o : defs.h buffer.h
.PHONY : clean
clean : 
$(RM) edit $(objects) 


二、Makefile的示例说明

game : $(objects)                      # 定义game的生成规则
$(CC) -o edit $(objects)
main.o : defs.h                          # 定义main.o的规则,包含隐含规则
mouse.o : defs.h command.h # 定义mouse.o的规则,包含隐含规则
command.o : defs.h command.h
display.o : defs.h buffer.h
.PHONY : clean
clean :                                   # 定义clean的规则,无依赖
$(RM) edit $(objects)


    game的生成规则包含了规则的三个基本要素:目标、依赖、命令;main.o等规则没有命令,属于隐含规则(implicit rule)。clean规则没有依赖,不属于编译的内容,只是完成一个指定的动作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值