################################################################ # Software API Library # # Author: NiuJiuRu # # Copyright ? 2010-20 NiuJiuRu, All Rights Reserved. # ################################################################ # 头文件 INCS = -I./ # 源文件 # 1, "swutil"函数库 SRCS = swchar.c swstring.c swfile.c swdir.c \ swrand.c swlog.c # 2, "swos"函数库 SRCS += swsignal.c swmutex.c swmem.c swheap.c swstack.c \ swmsgq.c swthrd.c swthrdpool.c swprogress.c swtimer.c sw_rwlock.c # 3, "swnetwork"函数库 SRCS += swudp.c swtcp.c # 4, "swalg"函数库 SRCS += swhash.c # 源文件编译后对应的.o文件 OBJS = $(SRCS:.c=.o) # 编译器 CC = gcc CFLAGS1 = -Wall -fpic -O2 CFLAGS2 = -shared DEFS = -D_GNU_SOURCE -D_DEBUG target ?= x86_64 ifeq ($(target),armv7hf) CC := arm-linux-gnueabihf-gcc AR := arm-linux-gnueabihf-ar endif # 编译规则 all : libswapi.a libswapi.so swapi_test.out %.o : %.c $(CC) $(DEFS) $(CFLAGS1) -c $< $(INCS) -o $@ libswapi.a : $(OBJS) $(AR) -cr $@ $(OBJS) libswapi.so : $(OBJS) $(CC) $(CFLAGS2) $(OBJS) -o $@ swapi_test.out : testLib.c logfromgo.c $(CC) $(DEFS) $(CFLAGS1) testLib.c logfromgo.c $(INCS) -static -L./ -lswapi -pthread -lrt -o $@ .PHONY : clean clean : rm -rf $(OBJS) ./libswapi.a ./libswapi.so ./testLib.o ./swapi_test.out