Add soname and release build traget, default make target is debug
This commit is contained in:
parent
a93b88697d
commit
bcf77ea1c8
19
Makefile
19
Makefile
|
|
@ -1,10 +1,16 @@
|
||||||
PREFIX = /usr
|
PREFIX = /usr
|
||||||
INCLUDE_DIR = ${PREFIX}/include
|
INCLUDE_DIR = ${PREFIX}/include
|
||||||
LIBRARY_DIR = ${PREFIX}/lib
|
LIBRARY_DIR = ${PREFIX}/lib
|
||||||
|
export LIBRARY_NAME = amqpcpp
|
||||||
|
export SONAME = 2.2
|
||||||
|
export VERSION = 2.2.0
|
||||||
|
|
||||||
all:
|
all:
|
||||||
$(MAKE) -C src all
|
$(MAKE) -C src all
|
||||||
|
|
||||||
|
release:
|
||||||
|
$(MAKE) -C src release
|
||||||
|
|
||||||
static:
|
static:
|
||||||
$(MAKE) -C src static
|
$(MAKE) -C src static
|
||||||
|
|
||||||
|
|
@ -15,9 +21,12 @@ clean:
|
||||||
$(MAKE) -C src clean
|
$(MAKE) -C src clean
|
||||||
|
|
||||||
install:
|
install:
|
||||||
mkdir -p ${INCLUDE_DIR}/amqpcpp
|
mkdir -p ${INCLUDE_DIR}/$(LIBRARY_NAME)
|
||||||
mkdir -p ${LIBRARY_DIR}
|
mkdir -p ${LIBRARY_DIR}
|
||||||
cp -f amqpcpp.h ${INCLUDE_DIR}
|
cp -f $(LIBRARY_NAME).h ${INCLUDE_DIR}
|
||||||
cp -f include/*.h ${INCLUDE_DIR}/amqpcpp
|
cp -f include/*.h ${INCLUDE_DIR}/$(LIBRARY_NAME)
|
||||||
cp -f src/libamqpcpp.so ${LIBRARY_DIR}
|
cp -f src/lib$(LIBRARY_NAME).so.$(VERSION) ${LIBRARY_DIR}
|
||||||
cp -f src/libamqpcpp.a ${LIBRARY_DIR}
|
cp -f src/lib$(LIBRARY_NAME).a.$(VERSION) ${LIBRARY_DIR}
|
||||||
|
ln -s -f $(LIBRARY_DIR)/lib$(LIBRARY_NAME).so.$(VERSION) $(LIBRARY_DIR)/lib$(LIBRARY_NAME).so.$(SONAME)
|
||||||
|
ln -s -f $(LIBRARY_DIR)/lib$(LIBRARY_NAME).so.$(VERSION) $(LIBRARY_DIR)/lib$(LIBRARY_NAME).so
|
||||||
|
ln -s -f $(LIBRARY_DIR)/lib$(LIBRARY_NAME).a.$(VERSION) $(LIBRARY_DIR)/lib$(LIBRARY_NAME).a
|
||||||
|
|
|
||||||
19
src/Makefile
19
src/Makefile
|
|
@ -1,22 +1,29 @@
|
||||||
CPP = g++
|
CPP = g++
|
||||||
RM = rm -f
|
RM = rm -f
|
||||||
CPPFLAGS = -Wall -c -I. -g -std=c++11 -g
|
CPPFLAGS = -Wall -c -I. -flto -std=c++11
|
||||||
LD = g++
|
LD = g++
|
||||||
LD_FLAGS = -Wall -shared -O2
|
LD_FLAGS = -Wall -shared
|
||||||
SHARED_LIB = libamqpcpp.so
|
SHARED_LIB = lib$(LIBRARY_NAME).so.$(VERSION)
|
||||||
STATIC_LIB = $(SHARED_LIB:%.so=%.a)
|
STATIC_LIB = lib$(LIBRARY_NAME).a.$(VERSION)
|
||||||
SOURCES = $(wildcard *.cpp)
|
SOURCES = $(wildcard *.cpp)
|
||||||
SHARED_OBJECTS = $(SOURCES:%.cpp=%.o)
|
SHARED_OBJECTS = $(SOURCES:%.cpp=%.o)
|
||||||
STATIC_OBJECTS = $(SOURCES:%.cpp=%.s.o)
|
STATIC_OBJECTS = $(SOURCES:%.cpp=%.s.o)
|
||||||
|
|
||||||
|
|
||||||
|
all: CPPFLAGS += -g
|
||||||
|
all: LD_FLAGS += -g
|
||||||
all: shared static
|
all: shared static
|
||||||
|
|
||||||
|
release: CPPFLAGS += -O2
|
||||||
|
release: LD_FLAGS += -O2
|
||||||
|
release: shared static
|
||||||
|
|
||||||
shared: ${SHARED_OBJECTS} ${SHARED_LIB}
|
shared: ${SHARED_OBJECTS} ${SHARED_LIB}
|
||||||
|
|
||||||
static: ${STATIC_OBJECTS} ${STATIC_LIB}
|
static: ${STATIC_OBJECTS} ${STATIC_LIB}
|
||||||
|
|
||||||
${SHARED_LIB}: ${SHARED_OBJECTS}
|
${SHARED_LIB}: ${SHARED_OBJECTS}
|
||||||
${LD} ${LD_FLAGS} -o $@ ${SHARED_OBJECTS}
|
${LD} ${LD_FLAGS} -Wl,-soname,lib$(LIBRARY_NAME).so.$(SONAME) -o $@ ${SHARED_OBJECTS}
|
||||||
|
|
||||||
${STATIC_LIB}: ${STATIC_OBJECTS}
|
${STATIC_LIB}: ${STATIC_OBJECTS}
|
||||||
ar rcs ${STATIC_LIB} ${STATIC_OBJECTS}
|
ar rcs ${STATIC_LIB} ${STATIC_OBJECTS}
|
||||||
|
|
@ -25,7 +32,7 @@ clean:
|
||||||
${RM} *.obj *~* ${SHARED_OBJECTS} ${STATIC_OBJECTS} ${SHARED_LIB} ${STATIC_LIB}
|
${RM} *.obj *~* ${SHARED_OBJECTS} ${STATIC_OBJECTS} ${SHARED_LIB} ${STATIC_LIB}
|
||||||
|
|
||||||
${SHARED_OBJECTS}:
|
${SHARED_OBJECTS}:
|
||||||
${CPP} ${CPPFLAGS} -flto -fpic -o $@ ${@:%.o=%.cpp}
|
${CPP} ${CPPFLAGS} -fpic -o $@ ${@:%.o=%.cpp}
|
||||||
|
|
||||||
${STATIC_OBJECTS}:
|
${STATIC_OBJECTS}:
|
||||||
${CPP} ${CPPFLAGS} -o $@ ${@:%.s.o=%.cpp}
|
${CPP} ${CPPFLAGS} -o $@ ${@:%.s.o=%.cpp}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue