将上述文件使用自动变量替换实现 并且根据makefile的隐含规则将其简化
main: main.o mytool1.o mytool2.o
gcc $^ -o $@
# $^ 表示规则中的所有条件,组成一个列表,以空格分隔
# $@, 表示规则中的目标
# 模式规则
# 没有以*.o为目标的规则, 就会查找隐含规则,
# 如没有main.o的规则, 但符合%.o模式, 就内建隐含规则 main.o: main.c
%.o: %.c
gcc -c -o $@ $<
# $<, 表示规则中的第一个条件