Commit adaf82b4 authored by Ian Craggs's avatar Ian Craggs

Another attempt to build on the Mac

parent 67d609bd
......@@ -15,7 +15,7 @@
# Allan Stockdill-Mander - SSL updates
# Andy Piper - various fixes
# Ian Craggs - OSX build
# Rainer Poisel - support for cross-compilation
# Rainer Poisel - support for multi-core builds and cross-compilation
#*******************************************************************************/
# Note: on OS X you should install XCode and the associated command-line tools
......@@ -111,10 +111,19 @@ 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 $(START_GROUP) -lpthread $(EXTRA_LIB) -lssl -lcrypto $(END_GROUP) -Wl,-init,$(MQTTCLIENT_INIT)
LDFLAGS_A = $(LDFLAGS) -shared -Wl,-init,$(MQTTASYNC_INIT) -lpthread
LDFLAGS_AS = $(LDFLAGS) -shared $(START_GROUP) -lpthread $(EXTRA_LIB) -lssl -lcrypto $(END_GROUP) -Wl,-init,$(MQTTASYNC_INIT)
ifeq ($(OSTYPE),Linux)
MQTTCLIENT_INIT = MQTTClient_init
MQTTASYNC_INIT = MQTTAsync_init
START_GROUP = -Wl,--start-group
END_GROUP = -Wl,--end-group
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}
......@@ -126,6 +135,9 @@ else ifeq ($(OSTYPE),Darwin)
MQTTCLIENT_INIT = _MQTTClient_init
MQTTASYNC_INIT = _MQTTAsync_init
START_GROUP =
END_GROUP =
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}
......@@ -135,11 +147,6 @@ LDFLAGS_AS += -Wl,-install_name,lib${MQTTLIB_AS}.so.${MAJOR_VERSION}
EXTRA_LIB = -ld
endif
LDFLAGS_C = $(LDFLAGS) -shared -Wl,-init,$(MQTTCLIENT_INIT) -lpthread
LDFLAGS_A = $(LDFLAGS) -shared -Wl,-init,$(MQTTASYNC_INIT) -lpthread
LDFLAGS_CS = $(LDFLAGS) -shared -Wl,--start-group -lpthread $(EXTRA_LIB) -lssl -lcrypto -Wl,--end-group -Wl,-init,$(MQTTCLIENT_INIT)
LDFLAGS_AS = $(LDFLAGS) -shared -Wl,--start-group -lpthread $(EXTRA_LIB) -lssl -lcrypto -Wl,--end-group -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}
......
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