Makefile 编译静态库

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。

原文地址:https://www.cnblogs.com/wanhl/p/4745729.html