all:server client

server:server.c

gcc $< -o $@

client:client.c

gcc $< -o $@

clean:

rm -f server

rm -f client

解释:

$@ ——目标文件的名称;
(2) $^ ——所有的依赖文件,以空格分开,不包含重复的依赖文件;
(3) $< ——第一个依赖文件的名称。

示例:
main:main.c sort.o
gcc main.c sort.o -o main
表示为简洁的就是:
main:main.c sort.o
gcc $^ -o $@