diff --git a/.cproject b/.cproject index be79d8e1..9aaacbfb 100644 --- a/.cproject +++ b/.cproject @@ -1,7 +1,8 @@ - + + - + @@ -13,11 +14,11 @@ - + - + @@ -41,6 +42,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -53,5 +136,12 @@ + + + + + + - \ No newline at end of file + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..a68d9280 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/dep/ +/build/output/ diff --git a/.settings/org.eclipse.cdt.core.prefs b/.settings/org.eclipse.cdt.core.prefs new file mode 100644 index 00000000..ed690d89 --- /dev/null +++ b/.settings/org.eclipse.cdt.core.prefs @@ -0,0 +1,43 @@ +eclipse.preferences.version=1 +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/BUILD_TYPE/delimiter=\: +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/BUILD_TYPE/operation=append +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/BUILD_TYPE/value=debug +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/CFLAGS/delimiter=\: +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/CFLAGS/operation=append +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/CFLAGS/value=-m32 +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/LDFLAGS/delimiter=\: +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/LDFLAGS/operation=append +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/LDFLAGS/value=-m32 +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/MACHINETYPE/delimiter=\: +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/MACHINETYPE/operation=append +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/MACHINETYPE/value=x86 +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/OSTYPE/delimiter=\: +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/OSTYPE/operation=append +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/OSTYPE/value=Linux +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/append=true +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.128299804/appendContributed=true +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/BUILD_TYPE/delimiter=\: +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/BUILD_TYPE/operation=append +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/BUILD_TYPE/value=debug +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/CC/delimiter=\: +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/CC/operation=append +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/CC/value=arm-linux-gnueabihf-gcc +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/CFLAGS/delimiter=\: +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/CFLAGS/operation=append +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/CFLAGS/value=-Idep/arm-linux-gnueabihf/include -Idep/arm-linux-gnueabihf/include/arm-linux-gnueabihf +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/LDFLAGS/delimiter=\: +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/LDFLAGS/operation=append +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/LDFLAGS/value=-Ldep/arm-linux-gnueabihf/lib +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/MACHINETYPE/delimiter=\: +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/MACHINETYPE/operation=append +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/MACHINETYPE/value=arm-linux-gnueabihf +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/OSTYPE/delimiter=\: +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/OSTYPE/operation=append +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/OSTYPE/value=Linux +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/append=true +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643.1588218084/appendContributed=true +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643/BUILD_TYPE/delimiter=\: +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643/BUILD_TYPE/operation=append +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643/BUILD_TYPE/value=debug +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643/append=true +environment/project/cdt.managedbuild.toolchain.gnu.base.2116872643/appendContributed=true diff --git a/Makefile b/Makefile index 6f7fef4c..4bd59059 100755 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ # Note: on OS X you should install XCode and the associated command-line tools SHELL = /bin/sh -.PHONY: clean, mkdir, install, uninstall, html +.PHONY: clean, mkdir, install, uninstall, html # assume this is normally run in the main Paho directory ifndef srcdir @@ -78,70 +78,90 @@ MQTTLIB_A = paho-mqtt3a MQTTLIB_AS = paho-mqtt3as # determine current platform +BUILD_TYPE ?= debug ifeq ($(OS),Windows_NT) - OSTYPE = $(OS) + OSTYPE ?= $(OS) + MACHINETYPE ?= $(PROCESSOR_ARCHITECTURE) else - OSTYPE = $(shell uname -s) - MACHINETYPE = $(shell uname -m) + OSTYPE ?= $(shell uname -s) + MACHINETYPE ?= $(shell uname -m) +endif # OS + +CC ?= gcc + +ifndef INSTALL +INSTALL = install endif +INSTALL_PROGRAM = $(INSTALL) +INSTALL_DATA = $(INSTALL) -m 644 +DOXYGEN_COMMAND = doxygen + +MAJOR_VERSION = 1 +MINOR_VERSION = 0 +VERSION = ${MAJOR_VERSION}.${MINOR_VERSION} + +MQTTLIB_C_TARGET = ${blddir}/lib${MQTTLIB_C}.so.${VERSION} +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 + +CCFLAGS_SO = -g -fPIC $(CFLAGS) -Os -Wall -fvisibility=hidden +FLAGS_EXE = $(LDFLAGS) -I ${srcdir} -lpthread -L ${blddir} +FLAGS_EXES = $(LDFLAGS) -I ${srcdir} -Wl,--start-group -lpthread -lssl -lcrypto -Wl,--end-group -L ${blddir} +LDFLAGS_C = $(LDFLAGS) -shared -Wl,-init,MQTTClient_init -lpthread +LDFLAGS_CS = $(LDFLAGS) -shared -Wl,--start-group -lpthread $(EXTRA_LIB) -lssl -lcrypto -Wl,--end-group -Wl,-init,MQTTClient_init +LDFLAGS_A = $(LDFLAGS) -shared -Wl,-init,MQTTAsync_init -lpthread +LDFLAGS_AS = $(LDFLAGS) -shared -Wl,--start-group -lpthread $(EXTRA_LIB) -lssl -lcrypto -Wl,--end-group -Wl,-init,MQTTAsync_init ifeq ($(OSTYPE),Linux) -CC ?= gcc +LDFLAGS_C += -Wl,-soname,lib$(MQTTLIB_C).so.${MAJOR_VERSION} +LDFLAGS_CS += -Wl,-soname,lib$(MQTTLIB_CS).so.${MAJOR_VERSION} -Wl,-no-whole-archive +LDFLAGS_A += -Wl,-soname,lib${MQTTLIB_A}.so.${MAJOR_VERSION} +LDFLAGS_AS += -Wl,-soname,lib${MQTTLIB_AS}.so.${MAJOR_VERSION} -Wl,-no-whole-archive -ifndef INSTALL -INSTALL = install +EXTRA_LIB = + +else ifeq ($(OSTYPE),Darwin) + +CCFLAGS_SO += -Wno-deprecated-declarations -DUSE_NAMED_SEMAPHORES +LDFLAGS_C += -Wl,-install_name,lib$(MQTTLIB_C).so.${MAJOR_VERSION} +LDFLAGS_CS += -Wl,-install_name,lib$(MQTTLIB_CS).so.${MAJOR_VERSION} +LDFLAGS_A += -Wl,-install_name,lib${MQTTLIB_A}.so.${MAJOR_VERSION} +LDFLAGS_AS += -Wl,-install_name,lib${MQTTLIB_AS}.so.${MAJOR_VERSION} + +EXTRA_LIB = -ld endif -INSTALL_PROGRAM = $(INSTALL) -INSTALL_DATA = $(INSTALL) -m 644 -DOXYGEN_COMMAND = doxygen - -MAJOR_VERSION = 1 -MINOR_VERSION = 0 -VERSION = ${MAJOR_VERSION}.${MINOR_VERSION} - -MQTTLIB_C_TARGET = ${blddir}/lib${MQTTLIB_C}.so.${VERSION} -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 - -CCFLAGS_SO = -g -fPIC -Os -Wall -fvisibility=hidden -FLAGS_EXE = -I ${srcdir} -lpthread -L ${blddir} - -LDFLAGS_C = -shared -Wl,-soname,lib$(MQTTLIB_C).so.${MAJOR_VERSION} -Wl,-init,MQTTClient_init -lpthread -LDFLAGS_CS = -shared -Wl,-soname,lib$(MQTTLIB_CS).so.${MAJOR_VERSION} -lpthread -ldl -lssl -lcrypto -Wl,-no-whole-archive -Wl,-init,MQTTClient_init -LDFLAGS_A = -shared -Wl,-soname,lib${MQTTLIB_A}.so.${MAJOR_VERSION} -Wl,-init,MQTTAsync_init -lpthread -LDFLAGS_AS = -shared -Wl,-soname,lib${MQTTLIB_AS}.so.${MAJOR_VERSION} -lpthread -ldl -lssl -lcrypto -Wl,-no-whole-archive -Wl,-init,MQTTAsync_init all: build - + build: | mkdir ${MQTTLIB_C_TARGET} ${MQTTLIB_CS_TARGET} ${MQTTLIB_A_TARGET} ${MQTTLIB_AS_TARGET} ${MQTTVERSION_TARGET} ${SYNC_SAMPLES} ${ASYNC_SAMPLES} ${SYNC_TESTS} ${SYNC_SSL_TESTS} ${ASYNC_TESTS} ${ASYNC_SSL_TESTS} clean: rm -rf ${blddir}/* - + mkdir: -mkdir -p ${blddir}/samples -mkdir -p ${blddir}/test -${SYNC_TESTS}: ${blddir}/test/%: ${srcdir}/../test/%.c - ${CC} -g -o ${blddir}/test/${basename ${+F}} $< -l${MQTTLIB_C} ${FLAGS_EXE} +${SYNC_TESTS}: ${blddir}/test/%: ${srcdir}/../test/%.c $(MQTTLIB_C_TARGET) + ${CC} -g -o $@ $< -l${MQTTLIB_C} ${FLAGS_EXE} -${SYNC_SSL_TESTS}: ${blddir}/test/%: ${srcdir}/../test/%.c - ${CC} -g -o ${blddir}/test/${basename ${+F}} $< -l${MQTTLIB_CS} ${FLAGS_EXE} -lssl +${SYNC_SSL_TESTS}: ${blddir}/test/%: ${srcdir}/../test/%.c $(MQTTLIB_CS_TARGET) + ${CC} -g -o $@ $< -l${MQTTLIB_CS} ${FLAGS_EXES} -${ASYNC_TESTS}: ${blddir}/test/%: ${srcdir}/../test/%.c - ${CC} -g -o ${blddir}/test/${basename ${+F}} $< -l${MQTTLIB_A} ${FLAGS_EXE} +${ASYNC_TESTS}: ${blddir}/test/%: ${srcdir}/../test/%.c $(MQTTLIB_CS_TARGET) + ${CC} -g -o $@ $< -l${MQTTLIB_A} ${FLAGS_EXE} -${ASYNC_SSL_TESTS}: ${blddir}/test/%: ${srcdir}/../test/%.c - ${CC} -g -o ${blddir}/test/${basename ${+F}} $< -l${MQTTLIB_AS} ${FLAGS_EXE} -lssl +${ASYNC_SSL_TESTS}: ${blddir}/test/%: ${srcdir}/../test/%.c $(MQTTLIB_CS_TARGET) $(MQTTLIB_AS_TARGET) + ${CC} -g -o $@ $< -l${MQTTLIB_AS} ${FLAGS_EXES} -${SYNC_SAMPLES}: ${blddir}/samples/%: ${srcdir}/samples/%.c - ${CC} -o ${blddir}/samples/${basename ${+F}} $< -l${MQTTLIB_C} ${FLAGS_EXE} +${SYNC_SAMPLES}: ${blddir}/samples/%: ${srcdir}/samples/%.c $(MQTTLIB_C_TARGET) + ${CC} -o $@ $< -l${MQTTLIB_C} ${FLAGS_EXE} -${ASYNC_SAMPLES}: ${blddir}/samples/%: ${srcdir}/samples/%.c - ${CC} -o ${blddir}/samples/${basename ${+F}} $< -l${MQTTLIB_A} ${FLAGS_EXE} +${ASYNC_SAMPLES}: ${blddir}/samples/%: ${srcdir}/samples/%.c $(MQTTLIB_A_TARGET) + ${CC} -o $@ $< -l${MQTTLIB_A} ${FLAGS_EXE} ${MQTTLIB_C_TARGET}: ${SOURCE_FILES_C} ${HEADERS_C} ${CC} ${CCFLAGS_SO} -o $@ ${SOURCE_FILES_C} ${LDFLAGS_C} @@ -163,7 +183,7 @@ ${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.${MAJOR_VERSION} ${blddir}/lib$(MQTTLIB_AS).so -${MQTTVERSION_TARGET}: $(srcdir)/MQTTVersion.c $(srcdir)/MQTTAsync.h +${MQTTVERSION_TARGET}: $(srcdir)/MQTTVersion.c $(srcdir)/MQTTAsync.h ${MQTTLIB_A_TARGET} $(MQTTLIB_CS_TARGET) ${CC} ${FLAGS_EXE} -o $@ -l${MQTTLIB_A} $(srcdir)/MQTTVersion.c -ldl strip_options: @@ -171,7 +191,7 @@ strip_options: install-strip: build strip_options install -install: build +install: build $(INSTALL_DATA) ${INSTALL_OPTS} ${MQTTLIB_C_TARGET} $(DESTDIR)${libdir} $(INSTALL_DATA) ${INSTALL_OPTS} ${MQTTLIB_CS_TARGET} $(DESTDIR)${libdir} $(INSTALL_DATA) ${INSTALL_OPTS} ${MQTTLIB_A_TARGET} $(DESTDIR)${libdir} @@ -198,139 +218,11 @@ uninstall: rm $(DESTDIR)${libdir}/lib$(MQTTLIB_A).so rm $(DESTDIR)${libdir}/lib$(MQTTLIB_AS).so rm $(DESTDIR)${includedir}/MQTTAsync.h - rm $(DESTDIR)${includedir}/MQTTClient.h - rm $(DESTDIR)${includedir}/MQTTClientPersistence.h + rm $(DESTDIR)${includedir}/MQTTClient.h + rm $(DESTDIR)${includedir}/MQTTClientPersistence.h html: -mkdir -p ${blddir}/doc cd ${srcdir}; $(DOXYGEN_COMMAND) ../doc/DoxyfileV3ClientAPI cd ${srcdir}; $(DOXYGEN_COMMAND) ../doc/DoxyfileV3AsyncAPI cd ${srcdir}; $(DOXYGEN_COMMAND) ../doc/DoxyfileV3ClientInternal - -endif - - - -ifeq ($(OSTYPE),Darwin) - -CC ?= gcc - -ifndef INSTALL -INSTALL = install -endif -INSTALL_PROGRAM = $(INSTALL) -INSTALL_DATA = $(INSTALL) -m 644 -DOXYGEN_COMMAND = doxygen - -MAJOR_VERSION = 1 -MINOR_VERSION = 0 -VERSION = ${MAJOR_VERSION}.${MINOR_VERSION} - -MQTTLIB_C_TARGET = ${blddir}/lib${MQTTLIB_C}.so.${VERSION} -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 - -CCFLAGS_SO = -g -fPIC -Os -Wall -fvisibility=hidden -Wno-deprecated-declarations -DUSE_NAMED_SEMAPHORES -FLAGS_EXE = -I ${srcdir} -lpthread -L ${blddir} - -LDFLAGS_C = -shared -Wl,-install_name,lib$(MQTTLIB_C).so.${MAJOR_VERSION} -Wl,-init,_MQTTClient_init -lpthread -LDFLAGS_CS = -shared -Wl,-install_name,lib$(MQTTLIB_CS).so.${MAJOR_VERSION} -lpthread -ldl -lssl -lcrypto -Wl,-init,_MQTTClient_init -LDFLAGS_A = -shared -Wl,-install_name,lib${MQTTLIB_A}.so.${MAJOR_VERSION} -Wl,-init,_MQTTAsync_init -lpthread -LDFLAGS_AS = -shared -Wl,-install_name,lib${MQTTLIB_AS}.so.${MAJOR_VERSION} -lpthread -ldl -lssl -lcrypto -Wl,-init,_MQTTAsync_init - -all: build - -build: | mkdir ${MQTTLIB_C_TARGET} ${MQTTLIB_CS_TARGET} ${MQTTLIB_A_TARGET} ${MQTTLIB_AS_TARGET} ${MQTTVERSION_TARGET} ${SYNC_SAMPLES} ${ASYNC_SAMPLES} ${SYNC_TESTS} ${SYNC_SSL_TESTS} ${ASYNC_TESTS} ${ASYNC_SSL_TESTS} - -clean: - rm -rf ${blddir}/* - -mkdir: - -mkdir -p ${blddir}/samples - -mkdir -p ${blddir}/test - -${SYNC_TESTS}: ${blddir}/test/%: ${srcdir}/../test/%.c - ${CC} -g -o ${blddir}/test/${basename ${+F}} $< -l${MQTTLIB_C} ${FLAGS_EXE} - -${SYNC_SSL_TESTS}: ${blddir}/test/%: ${srcdir}/../test/%.c - ${CC} -g -o ${blddir}/test/${basename ${+F}} $< -l${MQTTLIB_CS} ${FLAGS_EXE} -lssl - -${ASYNC_TESTS}: ${blddir}/test/%: ${srcdir}/../test/%.c - ${CC} -g -o ${blddir}/test/${basename ${+F}} $< -l${MQTTLIB_A} ${FLAGS_EXE} - -${ASYNC_SSL_TESTS}: ${blddir}/test/%: ${srcdir}/../test/%.c - ${CC} -g -o ${blddir}/test/${basename ${+F}} $< -l${MQTTLIB_AS} ${FLAGS_EXE} -lssl - -${SYNC_SAMPLES}: ${blddir}/samples/%: ${srcdir}/samples/%.c - ${CC} -o ${blddir}/samples/${basename ${+F}} $< -l${MQTTLIB_C} ${FLAGS_EXE} - -${ASYNC_SAMPLES}: ${blddir}/samples/%: ${srcdir}/samples/%.c - ${CC} -o ${blddir}/samples/${basename ${+F}} $< -l${MQTTLIB_A} ${FLAGS_EXE} - -${MQTTLIB_C_TARGET}: ${SOURCE_FILES_C} ${HEADERS_C} - ${CC} ${CCFLAGS_SO} -o $@ ${SOURCE_FILES_C} ${LDFLAGS_C} - -ln -s lib$(MQTTLIB_C).so.${VERSION} ${blddir}/lib$(MQTTLIB_C).so.${MAJOR_VERSION} - -ln -s lib$(MQTTLIB_C).so.${MAJOR_VERSION} ${blddir}/lib$(MQTTLIB_C).so - -${MQTTLIB_CS_TARGET}: ${SOURCE_FILES_CS} ${HEADERS_C} - ${CC} ${CCFLAGS_SO} -o $@ ${SOURCE_FILES_CS} -DOPENSSL ${LDFLAGS_CS} - -ln -s lib$(MQTTLIB_CS).so.${VERSION} ${blddir}/lib$(MQTTLIB_CS).so.${MAJOR_VERSION} - -ln -s lib$(MQTTLIB_CS).so.${MAJOR_VERSION} ${blddir}/lib$(MQTTLIB_CS).so - -${MQTTLIB_A_TARGET}: ${SOURCE_FILES_A} ${HEADERS_A} - ${CC} ${CCFLAGS_SO} -o $@ ${SOURCE_FILES_A} ${LDFLAGS_A} - -ln -s lib$(MQTTLIB_A).so.${VERSION} ${blddir}/lib$(MQTTLIB_A).so.${MAJOR_VERSION} - -ln -s lib$(MQTTLIB_A).so.${MAJOR_VERSION} ${blddir}/lib$(MQTTLIB_A).so - -${MQTTLIB_AS_TARGET}: ${SOURCE_FILES_AS} ${HEADERS_A} - ${CC} ${CCFLAGS_SO} -o $@ ${SOURCE_FILES_AS} -DOPENSSL ${LDFLAGS_AS} - -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 - -${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_DATA) ${INSTALL_OPTS} ${MQTTLIB_C_TARGET} $(DESTDIR)${libdir} - $(INSTALL_DATA) ${INSTALL_OPTS} ${MQTTLIB_CS_TARGET} $(DESTDIR)${libdir} - $(INSTALL_DATA) ${INSTALL_OPTS} ${MQTTLIB_A_TARGET} $(DESTDIR)${libdir} - $(INSTALL_DATA) ${INSTALL_OPTS} ${MQTTLIB_AS_TARGET} $(DESTDIR)${libdir} - $(INSTALL_PROGRAM) ${INSTALL_OPTS} ${MQTTVERSION_TARGET} $(DESTDIR)${bindir} - /sbin/ldconfig $(DESTDIR)${libdir} - ln -s lib$(MQTTLIB_C).so.${MAJOR_VERSION} $(DESTDIR)${libdir}/lib$(MQTTLIB_C).so - ln -s lib$(MQTTLIB_CS).so.${MAJOR_VERSION} $(DESTDIR)${libdir}/lib$(MQTTLIB_CS).so - ln -s lib$(MQTTLIB_A).so.${MAJOR_VERSION} $(DESTDIR)${libdir}/lib$(MQTTLIB_A).so - ln -s lib$(MQTTLIB_AS).so.${MAJOR_VERSION} $(DESTDIR)${libdir}/lib$(MQTTLIB_AS).so - $(INSTALL_DATA) ${srcdir}/MQTTAsync.h $(DESTDIR)${includedir} - $(INSTALL_DATA) ${srcdir}/MQTTClient.h $(DESTDIR)${includedir} - $(INSTALL_DATA) ${srcdir}/MQTTClientPersistence.h $(DESTDIR)${includedir} - -uninstall: - rm $(DESTDIR)${libdir}/lib$(MQTTLIB_C).so.${VERSION} - rm $(DESTDIR)${libdir}/lib$(MQTTLIB_CS).so.${VERSION} - rm $(DESTDIR)${libdir}/lib$(MQTTLIB_A).so.${VERSION} - rm $(DESTDIR)${libdir}/lib$(MQTTLIB_AS).so.${VERSION} - rm $(DESTDIR)${bindir}/MQTTVersion - /sbin/ldconfig $(DESTDIR)${libdir} - rm $(DESTDIR)${libdir}/lib$(MQTTLIB_C).so - rm $(DESTDIR)${libdir}/lib$(MQTTLIB_CS).so - rm $(DESTDIR)${libdir}/lib$(MQTTLIB_A).so - rm $(DESTDIR)${libdir}/lib$(MQTTLIB_AS).so - rm $(DESTDIR)${includedir}/MQTTAsync.h - rm $(DESTDIR)${includedir}/MQTTClient.h - rm $(DESTDIR)${includedir}/MQTTClientPersistence.h - -html: - -mkdir -p ${blddir}/doc - cd ${srcdir}; $(DOXYGEN_COMMAND) ../doc/DoxyfileV3ClientAPI - cd ${srcdir}; $(DOXYGEN_COMMAND) ../doc/DoxyfileV3AsyncAPI - cd ${srcdir}; $(DOXYGEN_COMMAND) ../doc/DoxyfileV3ClientInternal - -endif