From 00afff988a8d000c8c660e98db90288cfc2920aa Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期一, 18 一月 2021 10:29:09 +0800 Subject: [PATCH] update --- src/Makefile | 102 ++++++++++++++++++++++++++++++++------------------- 1 files changed, 64 insertions(+), 38 deletions(-) diff --git a/src/Makefile b/src/Makefile index df65135..df2a8dc 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,65 +1,91 @@ # # Makefile for common library. # -ROOT=.. -#LDLIBS+=-Wl,-rpath=$(ROOT)/lib -# 寮�婧愬伐鍏峰寘璺緞 -#LDDIR += -L$(ROOT)/lib +ROOT := .. +PLATFORM=$(shell $(ROOT)/systype.sh) +include $(ROOT)/Make.defines.$(PLATFORM) + +PREFIX = $(DEST) + +LIBSQUEUE = $(DEST)/lib/libshm_queue.a +DLIBSQUEUE = $(DEST)/lib/libshm_queue.so + # 寮�婧愬伐鍏峰寘 LDLIBS += -lusgcommon -MINCLUDE := -I./queue -I./queue/include -I./socket -I./socket/include -I./util -I./util/include -INCLUDE += $(MINCLUDE) +#-I$(ROOT)/include/usgcommon -PLATFORM=$(shell $(ROOT)/systype.sh) -include $(ROOT)/Make.defines.$(PLATFORM) +INCLUDES += -I./shm -I./queue -I./socket -I$(ROOT)/include/usgcommon -LIBSQUEUE = libshm_queue.a -DLIBSQUEUE = libshm_queue.so +SOURCES := $(wildcard *.cpp ./**/*.cpp) +OBJS = $(patsubst %.cpp, $(DEST)/%.o, $(SOURCES)) +DEPENDENCES = $(patsubst %.cpp, $(DEST)/%.d, $(SOURCES)) -SOURCES := $(wildcard *.c ./queue/*.c ./socket/*.c ./util/*.c) -OBJS = $(patsubst %.c, %.o, $(SOURCES)) - -MYLIBS = $(LIBSQUEUE) $(DLIBSQUEUE) - -PREFIX = $(ROOT)/build +# MYLIBS = $(LIBCOMMON) $(DLIBCOMMON) ifeq ($(DEBUG),y) - MYLIBS = $(LIBSQUEUE) $(DLIBSQUEUE) + MYLIBS = $(LIBSQUEUE) else MYLIBS = $(LIBSQUEUE) $(DLIBSQUEUE) endif - -all: install - - -build: $(MYLIBS) - -#static lib -$(LIBSQUEUE): $(OBJS) - $(AR) rv $@ $? - $(RANLIB) $@ - -#dynamic lib -$(DLIBSQUEUE): $(SOURCES) - rm -f *.o - $(CC) -fPIC -shared $(CFLAGS) $^ -o $@ $(LDFLAGS) $(LDLIBS) - #PREFIX is environment variable, but if it is not set, then set default value ifeq ($(PREFIX),) PREFIX := /usr/local endif -# 浣跨敤鏂瑰紡锛� g++ test1.c -lcommon +all: build + + +.PHONY: build +build: prebuild $(MYLIBS) + cp $(ROOT)/.gdbinit $(DEST) + # mkdir -p $(DEST)/lib + # cp $(MYLIBS) $(DEST)/lib + # mkdir -p $(DEST)/include/shmqueue + # cp ./*.h ./queue/*.h ./socket/*.h $(DEST)/include/shmqueue + # cp $(ROOT)/lib/* $(DEST)/lib + +.PHONY: prebuild +prebuild: + @test -d $(DEST)/lib || mkdir -p $(DEST)/lib + +#static lib +$(LIBSQUEUE): $(OBJS) + @echo '>>>>>>' generating $@ ... + @$(AR) rv $@ $? + @$(RANLIB) $@ + +#dynamic lib +$(DLIBSQUEUE): $(SOURCES) + @echo '>>>>>>' generating $@ ... + $(CC) -fPIC -shared $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LDLIBS) + + + +# 浣跨敤鏂瑰紡锛� g++ test1.cpp -lcommon +.PHONY: install install: $(MYLIBS) + @echo '>>>>>>' installing $^ ... install -d $(PREFIX)/lib/ install -m 644 $^ $(PREFIX)/lib/ - install -d $(PREFIX)/include/ - install -m 644 ./*.h ./queue/include/* ./socket/include/* ./util/include/* $(PREFIX)/include/ + install -d $(PREFIX)/include/shmqueue + install -m 644 ./*.h ./shm/*.h ./queue/*.h ./socket/*.h $(PREFIX)/include/shmqueue + +.PHONY: uninstall +uninstall: + @echo '>>>>>>' uninstalling ... + rm -rf $(PREFIX)/include/shmqueue + rm -f $(PREFIX)/lib/shmqueue.* + + +.PHONY: clean clean: - rm -f $(TEMPFILES) + rm -f $(OBJS) $(MYLIBS) $(DEPENDENCES) $(TEMPFILES) + rm -rf $(DEST)/* -.PHONY: build clean install + +-include $(DEPENDENCES) +include $(ROOT)/Make.common.inc -- Gitblit v1.8.0