Makefile 编译静态库

时间:2021-06-12 14:39:22
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。