Makefile理论实践(一)

makefile 就是为了软件工程的自动化编译, 日常进行软件工程时,随软件的增删改,应当减少人为的修改makefile文件,所以应该增强makefile的鲁棒性, makefile的 模式思维,就比较的重要 .应用举例 :

多目标编译:

(1) 对源文件严重依赖:

all: test test1
.PHONY: test test1

test:test.c
gcc -o $@ $<
test1:test1.c
gcc -o $@ $<

.PHONY:clean
clean:
rm -rf test test1

(2) 采用模型思维 方式编写:

SOURCES := $(wildcard *.c)
TARGETS := $(patsubst %.c, %, $(SOURCES))
OBJS := $(patsubst %.c, %.o, $(SOURCES))

CC := gcc
HIDE := @
RM := rm

all:$(TARGETS)

$(TARGETS): %:%.o
$(HIDE) $(CC) $< -o $@

$(OBJS): %.o:%.c
$(HIDE) $(CC) -c $< -o $@

.PHONY:clean
clean:
$(HIDE) $(RM) -rf $(OBJS) $(TARGETS)

采用模式思维构建makefile的时候, 在同一个源码工程模式下, 不随源文件的改变,而需要修改makefile文件.(makefile的这种模型思维很重要)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值