1.建立文件名为makefile

2.编辑内容如下

3. make命令默认下会调用当前目录下面的makefile 如果名字不相同 需要 -f +文件名+伪命令

如make -f makefile_v2 all


srcs=$(wildcard *.c) 

#自定义变量srcs 
#“=”号为赋值 左变量 右值
#变量使用或者函数引用需要使用$( )或者 ${ }
#wildcard *.c 表示当前目录下所有后缀为C的文件

 
objs =$(patsubst %c,%o,$(srcs))
#patsubst %c,%o,$(srcs)  表示 在目标srcs中的 所有C结束文件转换置为以o结束 字符


CC = gcc
Target = main

####################

.PHONY: all clean
#.PHONY 解决 makefile的目录 有文件名与 目标“target” 相同的情况

clean:
 rm -f $(obj) main *~ *gch
 
 
###################
# $@ :要生成的目标文件 $^:依赖所有的目标集 $<:所依赖的第一个目标文件


all: $(Target)

$(Target):$(objs)
 $(CC) -o $@ $^
main.o:main.c 
 $(CC) -c $<
tool0.o:tool0.c
 $(CC) -c $<
tool1.o:tool1.c
 $(CC) -c $<