CC := gcc 把gcc赋给CC;
CFLAGS := -Wall -O3 把-Wall -O3 的值赋给CFLAGS
Libs = -lpthread 把-lpthread赋给Libs ;
Target := client 把client赋给Target ;
Source := $(wildcard src/*.c) 把src目录下所有的c文件赋给Source;
Objs := ( p a t s u b s t (patsubst %.c,%.o, (patsubst(Source)) 把Source中符合参数模式的单词替换成.o,.c文件;
Modules += check_putin pack_message main 把check_putin
pack_message main与Modules 相加;
AllObjs :=
(
a
d
d
s
u
f
f
i
x
/
s
r
c
/
∗
.
o
,
(addsuffix /src/*.o,
(addsuffix/src/∗.o,(Modules))
在Modules中的每个后缀单词加上.o,并赋给AllObjs 。
mm:
@ ( f o r e a c h n , (foreach n, (foreachn,(Modules), ( c a l l m o d u l e s m a k e , (call modules_make, (callmodulesmake,(n)))
foreach n, ( M o d u l e s 循 环 取 出 M o d u l e s 中 的 单 词 赋 给 变 量 参 数 , 然 后 运 行 表 达 式 c a l l m o d u l e s m a k e , (Modules 循环取出Modules中的单词赋给变量参数,然后运行表达式call modules_make, (Modules循环取出Modules中的单词赋给变量参数,然后运行表达式callmodulesmake,(n)
( c a l l m o d u l e s m a k e , (call modules_make, (callmodulesmake,(n)) 循环把参数n赋给变量参数中的modules_make返回值:赋值后的变量值。