From 3865746d3c0db2978134470fde6cfcd734abfef7 Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期六, 10 十月 2020 16:42:59 +0800
Subject: [PATCH] update

---
 src/Makefile |   89 ++++++++++++++++++++++++++------------------
 1 files changed, 53 insertions(+), 36 deletions(-)

diff --git a/src/Makefile b/src/Makefile
index df65135..9039e9c 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,65 +1,82 @@
 #
 # Makefile for common library.
 #
-ROOT=..
-#LDLIBS+=-Wl,-rpath=$(ROOT)/lib
-# 寮�婧愬伐鍏峰寘璺緞
-#LDDIR += -L$(ROOT)/lib
-
-# 寮�婧愬伐鍏峰寘
-LDLIBS += -lusgcommon
-
-MINCLUDE := -I./queue -I./queue/include -I./socket -I./socket/include -I./util -I./util/include
-INCLUDE += $(MINCLUDE)
-
+ROOT := ..
 PLATFORM=$(shell $(ROOT)/systype.sh)
 include $(ROOT)/Make.defines.$(PLATFORM)
+
+PREFIX = $(DEST)
 
 LIBSQUEUE = libshm_queue.a
 DLIBSQUEUE = libshm_queue.so
 
-SOURCES := $(wildcard *.c ./queue/*.c ./socket/*.c ./util/*.c)
-OBJS   = $(patsubst %.c, %.o, $(SOURCES)) 
 
-MYLIBS = $(LIBSQUEUE) $(DLIBSQUEUE)
+# 寮�婧愬伐鍏峰寘
+LDLIBS += -lusgcommon
 
-PREFIX = $(ROOT)/build
+INCLUDES += -I./queue -I./socket  -I./util -I$(ROOT)/include/usgcommon
+
+SOURCES := $(wildcard *.c ./**/*.c)
+OBJS   = $(patsubst %.c, $(DEST)/%.o, $(SOURCES)) 
+DEPENDENCES = $(patsubst %.c, $(DEST)/%.d, $(SOURCES)) 
+
+# 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
 
+all: install
+ 
+
+.PHONY: build
+build: prebuild $(MYLIBS)
+
+.PHONY: prebuild
+prebuild:
+	@test -d $(DEST) || mkdir $(DEST)
+
+#static lib
+$(LIBSQUEUE): $(OBJS)
+	@echo '>>>>>>' generating $@ ...
+	@$(AR) rv $@ $?
+	@$(RANLIB) $@
+
+#dynamic lib
+$(DLIBSQUEUE): $(SOURCES)
+	@echo '>>>>>>' generating $@ ...
+	$(CC) -fPIC -shared $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $^ -o $@
+
+
+
 # 浣跨敤鏂瑰紡锛� g++ test1.c  -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 ./queue/*.h ./socket/*.h ./util/*.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)
 
-.PHONY: build clean install
+
+-include $(DEPENDENCES)
+include $(ROOT)/Make.common.inc

--
Gitblit v1.8.0