Linux-Makefile(一)

Makefile文件名字需要是Makefile或者makefile.
管理一个项目工程,实质上就是管理项目文件间的依赖关系,当工程复杂度再上一个台阶的时候,会觉得手写 Makefile 也很麻烦,那个时候可以用 CMake、autotools 等工具来帮忙生成 Makefile。

# 定义变量
 TARGET = hello_main
 CC = gcc
 CFLAGS = -I.    #指定头文件路径
 DEPS = hello_func.h
 OBJS = hello_main.o hello_func.o

# 目标文件
 $(TARGET): $(OBJS)
 $(CC) -o $@ $^ $(CFLAGS)

#*.o 文件的生成规则
 %.o: %.c $(DEPS)    #依赖文件有头文件后,头文件修改make也会更新
 $(CC) -c -o $@ $< $(CFLAGS)

 # 伪目标
 .PHONY: clean
 clean:
 rm -f *.o hello_main

符号 意义

$@ 匹配目标文件
 $% 与 $@ 类似,但 $% 仅匹配“库”类型的目标文件
 $< 依赖中的第一个目标文件
 $^ 所有的依赖目标,如果依赖中有重复的,只保留一份
 $+ 所有的依赖目标,即使依赖中有重复的也原样保留
 $? 所有比目标要新的依赖目标
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值