Commit ebd9829a authored by Ian Craggs's avatar Ian Craggs

MQTTVersion needs to look for .so.1, and use install instead

of cp in the Makefile
parent eb6b0b17
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
# Note: on OS X you should install XCode and the associated command-line tools # Note: on OS X you should install XCode and the associated command-line tools
SHELL = /bin/sh SHELL = /bin/sh
.PHONY: clean, mkdir, install, uninstall, html
# assume this is normally run in the main Paho directory # assume this is normally run in the main Paho directory
ifndef srcdir ifndef srcdir
...@@ -72,28 +73,30 @@ else ...@@ -72,28 +73,30 @@ else
endif endif
ifeq ($(OSTYPE),Linux) ifeq ($(OSTYPE),Linux)
CC = gcc
MAJOR_VERSION = 1 CC = gcc
MINOR_VERSION = 0
VERSION = ${MAJOR_VERSION}.${MINOR_VERSION}
MQTTLIB_C_TARGET = ${blddir}/lib${MQTTLIB_C}.so.${VERSION} MAJOR_VERSION = 1
MQTTLIB_CS_TARGET = ${blddir}/lib${MQTTLIB_CS}.so.${VERSION} MINOR_VERSION = 0
MQTTLIB_A_TARGET = ${blddir}/lib${MQTTLIB_A}.so.${VERSION} VERSION = ${MAJOR_VERSION}.${MINOR_VERSION}
MQTTLIB_AS_TARGET = ${blddir}/lib${MQTTLIB_AS}.so.${VERSION}
CCFLAGS_SO = -g -fPIC -Os -Wall -fvisibility=hidden MQTTLIB_C_TARGET = ${blddir}/lib${MQTTLIB_C}.so.${VERSION}
FLAGS_EXE = -I ${srcdir} -lpthread -L ${blddir} MQTTLIB_CS_TARGET = ${blddir}/lib${MQTTLIB_CS}.so.${VERSION}
MQTTLIB_A_TARGET = ${blddir}/lib${MQTTLIB_A}.so.${VERSION}
MQTTLIB_AS_TARGET = ${blddir}/lib${MQTTLIB_AS}.so.${VERSION}
MQTTVERSION_TARGET = ${blddir}/MQTTVersion
LDFLAGS_C = -shared -Wl,-soname,lib$(MQTTLIB_C).so.${MAJOR_VERSION} CCFLAGS_SO = -g -fPIC -Os -Wall -fvisibility=hidden
LDFLAGS_CS = -shared -Wl,-soname,lib$(MQTTLIB_CS).so.${MAJOR_VERSION} -ldl -Wl,-whole-archive -lcrypto -lssl -Wl,-no-whole-archive FLAGS_EXE = -I ${srcdir} -lpthread -L ${blddir}
LDFLAGS_A = -shared -Wl,-soname,lib${MQTTLIB_A}.so.${MAJOR_VERSION}
LDFLAGS_AS = -shared -Wl,-soname,lib${MQTTLIB_AS}.so.${MAJOR_VERSION} -ldl -Wl,-whole-archive -lcrypto -lssl -Wl,-no-whole-archive LDFLAGS_C = -shared -Wl,-soname,lib$(MQTTLIB_C).so.${MAJOR_VERSION}
LDFLAGS_CS = -shared -Wl,-soname,lib$(MQTTLIB_CS).so.${MAJOR_VERSION} -ldl -Wl,-whole-archive -lcrypto -lssl -Wl,-no-whole-archive
LDFLAGS_A = -shared -Wl,-soname,lib${MQTTLIB_A}.so.${MAJOR_VERSION}
LDFLAGS_AS = -shared -Wl,-soname,lib${MQTTLIB_AS}.so.${MAJOR_VERSION} -ldl -Wl,-whole-archive -lcrypto -lssl -Wl,-no-whole-archive
all: build all: build
build: mkdir ${MQTTLIB_C_TARGET} ${MQTTLIB_CS_TARGET} ${MQTTLIB_A_TARGET} ${MQTTLIB_AS_TARGET} ${SYNC_SAMPLES} ${ASYNC_SAMPLES} build: | mkdir ${MQTTLIB_C_TARGET} ${MQTTLIB_CS_TARGET} ${MQTTLIB_A_TARGET} ${MQTTLIB_AS_TARGET} ${MQTTVERSION_TARGET} ${SYNC_SAMPLES} ${ASYNC_SAMPLES}
clean: clean:
rm -rf ${blddir}/* rm -rf ${blddir}/*
...@@ -127,25 +130,35 @@ ${MQTTLIB_AS_TARGET}: ${SOURCE_FILES_AS} ${HEADERS_A} ...@@ -127,25 +130,35 @@ ${MQTTLIB_AS_TARGET}: ${SOURCE_FILES_AS} ${HEADERS_A}
ln -s lib$(MQTTLIB_AS).so.${VERSION} ${blddir}/lib$(MQTTLIB_AS).so.${MAJOR_VERSION} ln -s lib$(MQTTLIB_AS).so.${VERSION} ${blddir}/lib$(MQTTLIB_AS).so.${MAJOR_VERSION}
ln -s lib$(MQTTLIB_AS).so.${MAJOR_VERSION} ${blddir}/lib$(MQTTLIB_AS).so ln -s lib$(MQTTLIB_AS).so.${MAJOR_VERSION} ${blddir}/lib$(MQTTLIB_AS).so
${MQTTVERSION_TARGET}: $(srcdir)/MQTTVersion.c $(srcdir)/MQTTAsync.h
${CC} ${FLAGS_EXE} -o $@ -l${MQTTLIB_A} $(srcdir)/MQTTVersion.c -ldl
strip_options:
$(eval INSTALL_OPTS := -s)
install-strip: build strip_options install
install: build install: build
cp ${MQTTLIB_C_TARGET} ${libdir} install ${INSTALL_OPTS} ${MQTTLIB_C_TARGET} ${libdir}
cp ${MQTTLIB_CS_TARGET} ${libdir} install ${INSTALL_OPTS} ${MQTTLIB_CS_TARGET} ${libdir}
cp ${MQTTLIB_A_TARGET} ${libdir} install ${INSTALL_OPTS} ${MQTTLIB_A_TARGET} ${libdir}
cp ${MQTTLIB_AS_TARGET} ${libdir} install ${INSTALL_OPTS} ${MQTTLIB_AS_TARGET} ${libdir}
install ${INSTALL_OPTS} ${MQTTVERSION_TARGET} ${bindir}
/sbin/ldconfig ${libdir} /sbin/ldconfig ${libdir}
ln -s lib$(MQTTLIB_C).so.${MAJOR_VERSION} ${libdir}/lib$(MQTTLIB_C).so ln -s lib$(MQTTLIB_C).so.${MAJOR_VERSION} ${libdir}/lib$(MQTTLIB_C).so
ln -s lib$(MQTTLIB_CS).so.${MAJOR_VERSION} ${libdir}/lib$(MQTTLIB_CS).so ln -s lib$(MQTTLIB_CS).so.${MAJOR_VERSION} ${libdir}/lib$(MQTTLIB_CS).so
ln -s lib$(MQTTLIB_A).so.${MAJOR_VERSION} ${libdir}/lib$(MQTTLIB_A).so ln -s lib$(MQTTLIB_A).so.${MAJOR_VERSION} ${libdir}/lib$(MQTTLIB_A).so
ln -s lib$(MQTTLIB_AS).so.${MAJOR_VERSION} ${libdir}/lib$(MQTTLIB_AS).so ln -s lib$(MQTTLIB_AS).so.${MAJOR_VERSION} ${libdir}/lib$(MQTTLIB_AS).so
cp ${srcdir}/MQTTAsync.h ${includedir} install ${srcdir}/MQTTAsync.h ${includedir}
cp ${srcdir}/MQTTClient.h ${includedir} install ${srcdir}/MQTTClient.h ${includedir}
cp ${srcdir}/MQTTClientPersistence.h ${includedir} install ${srcdir}/MQTTClientPersistence.h ${includedir}
uninstall: uninstall:
rm ${libdir}/lib$(MQTTLIB_C).so.${VERSION} rm ${libdir}/lib$(MQTTLIB_C).so.${VERSION}
rm ${libdir}/lib$(MQTTLIB_CS).so.${VERSION} rm ${libdir}/lib$(MQTTLIB_CS).so.${VERSION}
rm ${libdir}/lib$(MQTTLIB_A).so.${VERSION} rm ${libdir}/lib$(MQTTLIB_A).so.${VERSION}
rm ${libdir}/lib$(MQTTLIB_AS).so.${VERSION} rm ${libdir}/lib$(MQTTLIB_AS).so.${VERSION}
rm ${bindir}/MQTTVersion
/sbin/ldconfig ${libdir} /sbin/ldconfig ${libdir}
rm ${libdir}/lib$(MQTTLIB_C).so rm ${libdir}/lib$(MQTTLIB_C).so
rm ${libdir}/lib$(MQTTLIB_CS).so rm ${libdir}/lib$(MQTTLIB_CS).so
......
...@@ -176,7 +176,7 @@ void printEyecatchers(char* filename) ...@@ -176,7 +176,7 @@ void printEyecatchers(char* filename)
int main(int argc, char** argv) int main(int argc, char** argv)
{ {
printf("MQTTVersion: print the version strings of an MQTT client library\n"); printf("MQTTVersion: print the version strings of an MQTT client library\n");
printf("Copyright (c) 2012 IBM Corp.\n"); printf("Copyright (c) 2013 IBM Corp.\n");
if (argc == 1) if (argc == 1)
{ {
...@@ -190,7 +190,7 @@ int main(int argc, char** argv) ...@@ -190,7 +190,7 @@ int main(int argc, char** argv)
#if defined(WIN32) #if defined(WIN32)
sprintf(namebuf, "%s.dll", libraries[i]); sprintf(namebuf, "%s.dll", libraries[i]);
#else #else
sprintf(namebuf, "lib%s.so", libraries[i]); sprintf(namebuf, "lib%s.so.1", libraries[i]);
#endif #endif
printf("--- Trying library %s ---\n", libraries[i]); printf("--- Trying library %s ---\n", libraries[i]);
if (!loadandcall(namebuf)) if (!loadandcall(namebuf))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment