# # Makefile for common library. # ROOT=.. PLATFORM=$(shell $(ROOT)/systype.sh) INCLUDE+=-I$(ROOT)/common/include -I./include LIBCOMMON=$(ROOT)/common/libusgcommon.a LIBSQUEUE = libsqueue.a DLIBSQUEUE = libsqueue.so LDLIBS =-L$(ROOT)/common -lusgcommon $(EXTRALIBS) include $(ROOT)/Make.defines.$(PLATFORM) OBJS = mm.o pcsem.o all: $(LIBSQUEUE) mm.o: $(LIBCOMMON) pcsem.o: $(LIBCOMMON) test: squeue.h mm.c $(LIBCOMMON) #static lib $(LIBSQUEUE): $(OBJS) $(LIBCOMMON) $(AR) rv $@ $? $(RANLIB) $@ #dynamic lib $(DLIBSQUEUE): $(OBJS) $(LIBCOMMON) $(CC) -fPIC -shared -o $@ $^ #PREFIX is environment variable, but if it is not set, then set default value ifeq ($(PREFIX),) PREFIX := /usr/local endif # 使用方式: g++ test1.c -lcommon install: $(DLIBSQUEUE) $(LIBSQUEUE) sudo install -d $(PREFIX)/lib/ sudo install -m 644 $^ $(PREFIX)/lib/ sudo install -d $(PREFIX)/include/ sudo install -m 644 include/* $(PREFIX)/include/ clean: rm -f *.o a.out core temp.* *.a *.so include $(ROOT)/Make.common.inc