2015-11-02 16:08:30 +08:00
|
|
|
CPP = g++
|
|
|
|
|
RM = rm -f
|
2023-04-22 22:33:31 +08:00
|
|
|
CPPFLAGS = -Wall -c -I../include -std=c++17 -MD -Wno-class-conversion -DVERSION=${VERSION}
|
2015-11-02 16:08:30 +08:00
|
|
|
LD = g++
|
|
|
|
|
LD_FLAGS = -Wall -shared
|
|
|
|
|
SHARED_LIB = lib$(LIBRARY_NAME).so.$(VERSION)
|
|
|
|
|
STATIC_LIB = lib$(LIBRARY_NAME).a.$(VERSION)
|
2018-01-27 05:14:43 +08:00
|
|
|
SOURCES = $(wildcard *.cpp) $(wildcard linux_tcp/*.cpp)
|
2015-11-02 16:08:30 +08:00
|
|
|
SHARED_OBJECTS = $(SOURCES:%.cpp=%.o)
|
|
|
|
|
STATIC_OBJECTS = $(SOURCES:%.cpp=%.s.o)
|
2016-06-16 02:50:33 +08:00
|
|
|
DEPENDENCIES = $(SOURCES:%.cpp=%.d)
|
2015-11-02 16:08:30 +08:00
|
|
|
PURE_SHARED_OBJECTS = $(filter-out tcpconnection.o, $(SOURCES:%.cpp=%.o))
|
|
|
|
|
PURE_STATIC_OBJECTS = $(filter-out tcpconnection.s.o, $(SOURCES:%.cpp=%.s.o))
|
2014-01-06 01:50:41 +08:00
|
|
|
|
2015-05-19 19:51:36 +08:00
|
|
|
|
2015-07-01 16:04:40 +08:00
|
|
|
ifeq ($(shell uname -s),Darwin)
|
|
|
|
|
SONAMEPARAMETER = -install_name
|
|
|
|
|
else
|
|
|
|
|
SONAMEPARAMETER = -soname
|
|
|
|
|
endif
|
|
|
|
|
|
2016-06-16 02:50:33 +08:00
|
|
|
-include ${DEPENDENCIES}
|
2015-07-01 16:04:40 +08:00
|
|
|
|
2015-11-02 16:08:30 +08:00
|
|
|
all: CPPFLAGS += -g
|
|
|
|
|
all: LD_FLAGS += -g
|
|
|
|
|
all: shared static
|
2014-01-06 01:50:41 +08:00
|
|
|
|
2015-11-02 16:08:30 +08:00
|
|
|
pure: CPPFLAGS += -g
|
|
|
|
|
pure: LD_FLAGS += -g
|
|
|
|
|
pure: shared_pure static_pure
|
2015-05-19 19:51:36 +08:00
|
|
|
|
2015-11-02 16:08:30 +08:00
|
|
|
release: CPPFLAGS += -O2
|
|
|
|
|
release: LD_FLAGS += -O2
|
|
|
|
|
release: shared static
|
2014-01-06 01:50:41 +08:00
|
|
|
|
2015-11-02 16:08:30 +08:00
|
|
|
shared: ${SHARED_OBJECTS} ${SHARED_LIB}
|
|
|
|
|
shared_pure: ${PURE_SHARED_OBJECTS} ${SHARED_LIB}
|
|
|
|
|
|
|
|
|
|
static: ${STATIC_OBJECTS} ${STATIC_LIB}
|
|
|
|
|
static_pure: ${PURE_STATIC_OBJECTS} ${STATIC_LIB}
|
2014-01-04 19:45:04 +08:00
|
|
|
|
2014-01-06 01:50:41 +08:00
|
|
|
${SHARED_LIB}: ${SHARED_OBJECTS}
|
2015-07-01 16:04:40 +08:00
|
|
|
${LD} ${LD_FLAGS} -Wl,${SONAMEPARAMETER},lib$(LIBRARY_NAME).so.$(SONAME) -o $@ ${SHARED_OBJECTS}
|
2014-01-04 19:45:04 +08:00
|
|
|
|
2014-01-06 01:50:41 +08:00
|
|
|
${STATIC_LIB}: ${STATIC_OBJECTS}
|
|
|
|
|
ar rcs ${STATIC_LIB} ${STATIC_OBJECTS}
|
2014-01-04 19:45:04 +08:00
|
|
|
|
|
|
|
|
clean:
|
2016-07-01 22:00:40 +08:00
|
|
|
${RM} *.obj *~* ${SHARED_OBJECTS} ${STATIC_OBJECTS} ${SHARED_LIB} ${STATIC_LIB} ${DEPENDENCIES}
|
2014-01-04 19:45:04 +08:00
|
|
|
|
2014-01-06 01:50:41 +08:00
|
|
|
${SHARED_OBJECTS}:
|
2015-05-19 19:51:36 +08:00
|
|
|
${CPP} ${CPPFLAGS} -fpic -o $@ ${@:%.o=%.cpp}
|
2014-01-04 19:45:04 +08:00
|
|
|
|
2014-01-06 01:50:41 +08:00
|
|
|
${STATIC_OBJECTS}:
|
2014-01-04 19:45:04 +08:00
|
|
|
${CPP} ${CPPFLAGS} -o $@ ${@:%.s.o=%.cpp}
|