文章链接:https://codemouse.online/archives/354864644651
理解层次
#通配符
#包含头文件原则
#第二层 变量
#第三层 隐含规则
#第四层 自动变量
#KaTeX parse error: Expected 'EOF', got '#' at position 10: ^:代表依赖文件 #̲@ :目标文件
#$< : 代表第一个依赖文件
#第五层 使用函数
编译一个目标
LIB=-lpthread
PROG = test
SRC = $(wildcard *.c)
OBJ = $(patsubst %.c,%.o,$(SRC))
CC := gcc
CCFLAG = -g
all:$(PROG)
$(PROG):$(OBJ)
$(CC) $(CCFLAG) $^ -o $@ $(LIB)
.PHONY:
clean:
rm -rf *.o $(PROG)
表一多个目标版本
LIB=-lpthread
SRC=$(wildcard *.c)
OBJ=$(patsubst %.c,%.o,$(SRC))
PROG=$(SRC:%.c=%)
CC:=gcc
CCFLAG=-g
all:$(PROG)
$(PROG):%:%.c
$(CC) $(CCFLAG) $< -o $@ $(LIB)
.PHONY:
clean:
rm -rf *.o $(PROG)