CC = gcc AR = ar FLAGS = -Wall -lpthread CLOUD = cloud_server OBJ += cloud_server.o LIB = libccloud.a LIBOBJ = cloud_client.o LIBSRC = cloud_client.c all: $(LIB) $(CLOUD) $(LIBOBJ):$(LIBSRC) $(CC) $(FLAGS) -c $(LIBSRC) $(LIB):$(LIBOBJ) $(AR) cq $@ $^ $(CLOUD):$(OBJ) $(CC) $(OBJ) -o $@ $(FLAGS) %.o:%.c %.h $(CC) $^ -o $@ $(FLAGS) .PHONY:clean clean: rm cloud_server *.o *.a -r
一次编译多个文件,使用all 后面加上要生成的文件的名字; 生成库 使用ar cp , ar cps。