Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
paho.mqtt.c
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
eclipse
paho.mqtt.c
Commits
fe57fdaa
Commit
fe57fdaa
authored
May 08, 2014
by
Ian Craggs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add USE_NAMED_SEMAPHORES to Mac OSX compile options
Bug: 407343
parent
92824a94
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1 addition
and
441 deletions
+1
-441
Makefile
Makefile
+1
-1
Makefile
build/Makefile
+0
-440
No files found.
Makefile
View file @
fe57fdaa
...
...
@@ -232,7 +232,7 @@ 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
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
...
...
build/Makefile
deleted
100644 → 0
View file @
92824a94
#*******************************************************************************
# Copyright (c) 2009, 2013 IBM Corp.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# and Eclipse Distribution License v1.0 which accompany this distribution.
#
# The Eclipse Public License is available at
# http://www.eclipse.org/legal/epl-v10.html
# and the Eclipse Distribution License is available at
# http://www.eclipse.org/org/documents/edl-v10.php.
#
# Contributors:
# Ian Craggs - initial API and implementation and/or initial documentation
# Allan Stockdill-Mander - SSL updates
# Andy Piper - various fixes
#*******************************************************************************/
# Build output is produced in the current directory.
# MQTTCLIENT_DIR must point to the base directory containing the MQTT client source code.
# Example: make -f makefile MQTTCLIENT_DIR=V3Client/MQTTClient
# Note: this makefile requires gnu make which you may need to obtain if compiling on AIX or Solaris
# Note: on OS X you should install XCode and the associated command-line tools
ifndef
MQTTCLIENT_DIR
MQTTCLIENT_DIR
=
$(CURDIR)
endif
ifndef
SSL_DIR
SSL_DIR
=
${
MQTTCLIENT_DIR
}
/../../../../source/openssl-1.0.1c/
endif
ifndef
SAMPLES_DIR
SAMPLES_DIR
=
${
SSL_DIR
}
/../com.ibm.mq.mqxr.listener/SDK/clients/c/samples/
endif
MQTTLIB
=
mqttv3c
VPATH
=
${
MQTTCLIENT_DIR
}
ALL_SOURCE_FILES
=
$
(
wildcard
$(MQTTCLIENT_DIR)
/
*
.c
)
SOURCE_FILES
=
$
(
filter-out
$(MQTTCLIENT_DIR)
/MQTTAsync.c
$(MQTTCLIENT_DIR)
/MQTTVersion.c
$(MQTTCLIENT_DIR)
/SSLSocket.c,
$(ALL_SOURCE_FILES)
)
ALL_HEADERS
=
$(MQTTCLIENT_DIR)
/
*
.h
HEADERS
=
$
(
filter-out
$(MQTTCLIENT_DIR)
/MQTTAsync.h,
$(ALL_HEADERS)
)
MQTTLIB_S
=
mqttv3cs
SOURCE_FILES_S
=
$
(
filter-out
$(MQTTCLIENT_DIR)
/MQTTAsync.c
$(MQTTCLIENT_DIR)
/MQTTVersion.c,
$(ALL_SOURCE_FILES)
)
MQTTLIB_A
=
mqttv3a
SOURCE_FILES_A
=
$
(
filter-out
$(MQTTCLIENT_DIR)
/MQTTClient.c
$(MQTTCLIENT_DIR)
/MQTTVersion.c
$(MQTTCLIENT_DIR)
/SSLSocket.c,
$(ALL_SOURCE_FILES)
)
HEADERS_A
=
$(MQTTCLIENT_DIR)
/
*
.h
MQTTLIB_AS
=
mqttv3as
SOURCE_FILES_AS
=
$
(
filter-out
$(MQTTCLIENT_DIR)
/MQTTClient.c
$(MQTTCLIENT_DIR)
/MQTTVersion.c,
$(ALL_SOURCE_FILES)
)
# In most cases the targets will be built for the native platform. However, to allow for cross compiling,
# a target platform variable can be set to override the platform choice. If this variable is set to
# a recognised string (currently just 'Arm') the appropriate values of OSTYPE and MACHINETYPE are set.
ifeq
($(TARGET_PLATFORM),Arm)
OSTYPE
=
Linux
MACHINETYPE
=
Arm
else
ifeq
($(OS),Windows_NT)
OSTYPE
=
$(OS)
else
OSTYPE
=
$(
shell
uname
-s
)
MACHINETYPE
=
$(
shell
uname
-m
)
endif
endif
ifeq
($(OSTYPE),Linux)
ifeq
($(MACHINETYPE),x86_64)
CC
=
gcc
CCFLAGS_SO
=
-fPIC
-Os
-Wall
-I
${
SSL_DIR
}
/include
-fvisibility
=
hidden
CCFLAGS_EXE
=
-I
${
MQTTCLIENT_DIR
}
LDFLAGS
=
-shared
-Wl
,-soname,lib
${
MQTTLIB
}
.so
LDFLAGS_S
=
-shared
-Wl
,-soname,lib
${
MQTTLIB_S
}
.so
-ldl
-Wl
,-whole-archive
-L
${
SSL_DIR
}
/output/lib
-lcrypto
-lssl
-Wl
,-no-whole-archive
LDFLAGS_A
=
-shared
-Wl
,-soname,lib
${
MQTTLIB_A
}
.so
LDFLAGS_AS
=
-shared
-Wl
,-soname,lib
${
MQTTLIB_AS
}
.so
-ldl
-Wl
,-whole-archive
-L
${
SSL_DIR
}
/output/lib
-lcrypto
-lssl
-Wl
,-no-whole-archive
LDFLAGS_EXE
=
-lpthread
MQTTLIB_IA64
=
linux_ia64/lib
${
MQTTLIB
}
.so
MQTTLIB_IA64_S
=
linux_ia64/lib
${
MQTTLIB_S
}
.so
MQTTLIB_IA64_A
=
linux_ia64/lib
${
MQTTLIB_A
}
.so
MQTTLIB_IA64_AS
=
linux_ia64/lib
${
MQTTLIB_AS
}
.so
ifdef
BUILD_SAMPLES
all
:
linux_ia64 ${MQTTLIB_IA64} ${MQTTLIB_IA64_A} ${MQTTLIB_IA64_S} ${MQTTLIB_IA64_AS} samples
else
all
:
linux_ia64 ${MQTTLIB_IA64} ${MQTTLIB_IA64_A} ${MQTTLIB_IA64_S} ${MQTTLIB_IA64_AS}
endif
linux_ia64
:
-
mkdir
linux_ia64
samples
:
-
mkdir
${
SAMPLES_DIR
}
/linux_ia64
${
CC
}
-m64
-I
${
MQTTCLIENT_DIR
}
-L
${
MQTTCLIENT_DIR
}
/linux_ia64
-o
${
SAMPLES_DIR
}
/linux_ia64/MQTTV3Sample
${
SAMPLES_DIR
}
/MQTTV3Sample.c
-lmqttv3c
-lpthread
${
CC
}
-m64
-I
${
MQTTCLIENT_DIR
}
-L
${
MQTTCLIENT_DIR
}
/linux_ia64
-o
${
SAMPLES_DIR
}
/linux_ia64/MQTTV3SSample
${
SAMPLES_DIR
}
/MQTTV3SSample.c
-lmqttv3cs
-lpthread
${
CC
}
-m64
-I
${
MQTTCLIENT_DIR
}
-L
${
MQTTCLIENT_DIR
}
/linux_ia64
-o
${
SAMPLES_DIR
}
/linux_ia64/MQTTV3ASample
${
SAMPLES_DIR
}
/MQTTV3ASample.c
-lmqttv3a
-lpthread
${
CC
}
-m64
-I
${
MQTTCLIENT_DIR
}
-L
${
MQTTCLIENT_DIR
}
/linux_ia64
-o
${
SAMPLES_DIR
}
/linux_ia64/MQTTV3ASSample
${
SAMPLES_DIR
}
/MQTTV3ASSample.c
-lmqttv3as
-lpthread
${MQTTLIB_IA64}
:
${SOURCE_FILES} ${HEADERS}
${
CC
}
-m64
${
CCFLAGS_SO
}
${
LDFLAGS
}
-o
$@
${
SOURCE_FILES
}
strip
$@
${MQTTLIB_IA64_S}
:
${SOURCE_FILES_S} ${HEADERS}
${
CC
}
-m64
${
CCFLAGS_SO
}
${
LDFLAGS_S
}
-o
$@
${
SOURCE_FILES_S
}
-DOPENSSL
strip
$@
${MQTTLIB_IA64_A}
:
${SOURCE_FILES_A} ${HEADERS_A}
${
CC
}
-m64
${
CCFLAGS_SO
}
${
LDFLAGS_A
}
-o
$@
${
SOURCE_FILES_A
}
strip
$@
${MQTTLIB_IA64_AS}
:
${SOURCE_FILES_AS} ${HEADERS_A}
${
CC
}
-m64
${
CCFLAGS_SO
}
${
LDFLAGS_AS
}
-o
$@
${
SOURCE_FILES_AS
}
-DOPENSSL
strip
$@
else
ifeq
($(MACHINETYPE),ppc64)
CC
=
gcc
CCFLAGS_SO
=
-fPIC
-Os
-Wall
-I
${
SSL_DIR
}
/include
-fvisibility
=
hidden
CCFLAGS_EXE
=
-I
${
MQTTCLIENT_DIR
}
LDFLAGS
=
-shared
-Wl
,-soname,lib
${
MQTTLIB
}
.so
LDFLAGS_S
=
-shared
-Wl
,-soname,lib
${
MQTTLIB_S
}
.so
-ldl
-Wl
,-whole-archive
-L
${
SSL_DIR
}
/output/lib
-lcrypto
-lssl
-Wl
,-no-whole-archive
LDFLAGS_A
=
-shared
-Wl
,-soname,lib
${
MQTTLIB_A
}
.so
LDFLAGS_AS
=
-shared
-Wl
,-soname,lib
${
MQTTLIB_AS
}
.so
-ldl
-Wl
,-whole-archive
-L
${
SSL_DIR
}
/output/lib
-lcrypto
-lssl
-Wl
,-no-whole-archive
LDFLAGS_EXE
=
-lpthread
MQTTLIB_PPC64
=
linux_ppc64/lib
${
MQTTLIB
}
.so
MQTTLIB_PPC64_S
=
linux_ppc64/lib
${
MQTTLIB_S
}
.so
MQTTLIB_PPC64_A
=
linux_ppc64/lib
${
MQTTLIB_A
}
.so
MQTTLIB_PPC64_AS
=
linux_ppc64/lib
${
MQTTLIB_AS
}
.so
all
:
linux_ppc64 ${MQTTLIB_PPC64} ${MQTTLIB_PPC64_A}
#
${MQTTLIB_PPC64_S} ${MQTTLIB_PPC64_AS}
linux_ppc64
:
-
mkdir
linux_ppc64
${MQTTLIB_PPC64}
:
${SOURCE_FILES} ${HEADERS}
${
CC
}
-m64
${
CCFLAGS_SO
}
${
LDFLAGS
}
-o
$@
${
SOURCE_FILES
}
strip
$@
${MQTTLIB_PPC64_S}
:
${SOURCE_FILES_S} ${HEADERS}
${
CC
}
-m64
${
CCFLAGS_SO
}
${
LDFLAGS_S
}
-o
$@
${
SOURCE_FILES_S
}
-DOPENSSL
strip
$@
${MQTTLIB_PPC64_A}
:
${SOURCE_FILES_A} ${HEADERS_A}
${
CC
}
-m64
${
CCFLAGS_SO
}
${
LDFLAGS_A
}
-o
$@
${
SOURCE_FILES_A
}
strip
$@
${MQTTLIB_PPC64_AS}
:
${SOURCE_FILES_AS} ${HEADERS_A}
${
CC
}
-m64
${
CCFLAGS_SO
}
${
LDFLAGS_AS
}
-o
$@
${
SOURCE_FILES_AS
}
-DOPENSSL
strip
$@
else
ifeq
($(MACHINETYPE),s390x)
CC
=
gcc
CCFLAGS_SO
=
-fPIC
-Os
-Wall
-DREVERSED
-fvisibility
=
hidden
CCFLAGS_EXE
=
-I
${
MQTTCLIENT_DIR
}
LDFLAGS
=
-shared
-Wl
,-soname,lib
${
MQTTLIB
}
.so
LDFLAGS_EXE
=
-lpthread
MQTTLIB_390
=
linux_s390x/lib
${
MQTTLIB
}
.so
all
:
${MQTTLIB_390}
${MQTTLIB_390}
:
${SOURCE_FILES} ${HEADERS}
-
mkdir
linux_s390x
${
CC
}
-m64
${
CCFLAGS_SO
}
${
LDFLAGS
}
-o
$@
${
SOURCE_FILES
}
strip
$@
else
ifeq
($(MACHINETYPE),Arm)
CC
=
gcc
# ARM_GLIBC_CC = arm-linux-gcc
# ARM_UCLIBC_CC = ~/x-tools/arm-unknown-linux-uclibcgnueabi/bin/arm-unknown-linux-uclibcgnueabi-gcc
ifndef
ARM_GLIBC_CC
ARM_GLIBC_CC
=
arm-linux-gcc
endif
ifndef
ARM_UCLIBC_CC
ARM_UCLIBC_CC
=
arm-unknown-linux-uclibcgnueabi-gcc
endif
ifndef
ARM_GLIBC_STRIP
ARM_GLIBC_STRIP
=
$
(
subst
-gcc
,-strip,
${
ARM_GLIBC_CC
}
)
endif
ifndef
ARM_UCLIBC_STRIP
ARM_UCLIBC_STRIP
=
$
(
subst
-gcc
,-strip,
${
ARM_UCLIBC_CC
}
)
endif
CCFLAGS_SO
=
-fPIC
-Os
-Wall
-fvisibility
=
hidden
CCFLAGS_EXE
=
-I
${
MQTTCLIENT_DIR
}
LDFLAGS
=
-shared
-Wl
,-soname,lib
${
MQTTLIB
}
.so
LDFLAGS_EXE
=
-lpthread
MQTTLIB_ARM_GLIBC
=
linux_ARM_glibc/lib
${
MQTTLIB
}
.so
MQTTLIB_ARM_UCLIBC
=
linux_ARM_uclibc/lib
${
MQTTLIB
}
.so
MQTTLIB_ARM_GLIBC_A
=
linux_ARM_glibc/lib
${
MQTTLIB_A
}
.so
MQTTLIB_ARM_UCLIBC_A
=
linux_ARM_uclibc/lib
${
MQTTLIB_A
}
.so
all
:
${MQTTLIB_ARM_GLIBC} ${MQTTLIB_ARM_UCLIBC}
${MQTTLIB_ARM_GLIBC}
:
${SOURCE_FILES} ${HEADERS}
-
mkdir
linux_ARM_glibc
${
ARM_GLIBC_CC
}
${
CCFLAGS_SO
}
${
LDFLAGS
}
-o
$@
${
SOURCE_FILES
}
${
ARM_GLIBC_STRIP
}
$@
${MQTTLIB_ARM_UCLIBC}
:
${SOURCE_FILES} ${HEADERS}
-
mkdir
linux_ARM_uclibc
${
ARM_UCLIBC_CC
}
${
CCFLAGS_SO
}
${
LDFLAGS
}
-o
$@
${
SOURCE_FILES
}
${
ARM_UCLIBC_STRIP
}
$@
else
CC
=
gcc
CCFLAGS_SO
=
-fPIC
-Os
-Wall
-I
${
SSL_DIR
}
/include
-fvisibility
=
hidden
CCFLAGS_EXE
=
-I
${
MQTTCLIENT_DIR
}
LDFLAGS
=
-shared
-Wl
,-soname,lib
${
MQTTLIB
}
.so
LDFLAGS_S
=
-shared
-Wl
,-soname,lib
${
MQTTLIB_S
}
.so
-ldl
-Wl
,-whole-archive
-L
${
SSL_DIR
}
/output/lib
-lcrypto
-lssl
-Wl
,-no-whole-archive
LDFLAGS_A
=
-shared
-Wl
,-soname,lib
${
MQTTLIB_A
}
.so
LDFLAGS_AS
=
-shared
-Wl
,-soname,lib
${
MQTTLIB_AS
}
.so
-ldl
-Wl
,-whole-archive
-L
/
${
SSL_DIR
}
/output/lib
-lcrypto
-lssl
-Wl
,-no-whole-archive
LDFLAGS_EXE
=
-lpthread
MQTTLIB_IA32
=
linux_ia32/lib
${
MQTTLIB
}
.so
MQTTLIB_IA32_S
=
linux_ia32/lib
${
MQTTLIB_S
}
.so
MQTTLIB_IA32_A
=
linux_ia32/lib
${
MQTTLIB_A
}
.so
MQTTLIB_IA32_AS
=
linux_ia32/lib
${
MQTTLIB_AS
}
.so
ifdef
BUILD_SAMPLES
all
:
linux_ia32 ${MQTTLIB_IA32_A} ${MQTTLIB_IA32} ${MQTTLIB_IA32_S} ${MQTTLIB_IA32_AS} samples
else
all
:
linux_ia32 ${MQTTLIB_IA32_A} ${MQTTLIB_IA32} ${MQTTLIB_IA32_S} ${MQTTLIB_IA32_AS}
endif
samples
:
-
mkdir
${
SAMPLES_DIR
}
/linux_ia32
${
CC
}
-m32
-I
${
MQTTCLIENT_DIR
}
-L
${
MQTTCLIENT_DIR
}
/linux_ia32
-o
${
SAMPLES_DIR
}
/linux_ia32/MQTTV3Sample
${
SAMPLES_DIR
}
/MQTTV3Sample.c
-lmqttv3c
-lpthread
${
CC
}
-m32
-I
${
MQTTCLIENT_DIR
}
-L
${
MQTTCLIENT_DIR
}
/linux_ia32
-o
${
SAMPLES_DIR
}
/linux_ia32/MQTTV3SSample
${
SAMPLES_DIR
}
/MQTTV3SSample.c
-lmqttv3cs
-lpthread
${
CC
}
-m32
-I
${
MQTTCLIENT_DIR
}
-L
${
MQTTCLIENT_DIR
}
/linux_ia32
-o
${
SAMPLES_DIR
}
/linux_ia32/MQTTV3ASample
${
SAMPLES_DIR
}
/MQTTV3ASample.c
-lmqttv3a
-lpthread
${
CC
}
-m32
-I
${
MQTTCLIENT_DIR
}
-L
${
MQTTCLIENT_DIR
}
/linux_ia32
-o
${
SAMPLES_DIR
}
/linux_ia32/MQTTV3ASSample
${
SAMPLES_DIR
}
/MQTTV3ASSample.c
-lmqttv3as
-lpthread
linux_ia32
:
-
mkdir
linux_ia32
${MQTTLIB_IA32}
:
${SOURCE_FILES} ${HEADERS}
${
CC
}
-m32
${
CCFLAGS_SO
}
${
LDFLAGS
}
-o
$@
${
SOURCE_FILES
}
strip
$@
${MQTTLIB_IA32_S}
:
${SOURCE_FILES_S} ${HEADERS}
${
CC
}
-m32
${
CCFLAGS_SO
}
${
LDFLAGS_S
}
-o
$@
${
SOURCE_FILES_S
}
-DOPENSSL
strip
$@
${MQTTLIB_IA32_A}
:
${SOURCE_FILES_A} ${HEADERS_A}
${
CC
}
-m32
${
CCFLAGS_SO
}
${
LDFLAGS_A
}
-o
$@
${
SOURCE_FILES_A
}
strip
$@
${MQTTLIB_IA32_AS}
:
${SOURCE_FILES_AS} ${HEADERS_A}
${
CC
}
-m32
${
CCFLAGS_SO
}
${
LDFLAGS_AS
}
-o
$@
${
SOURCE_FILES_AS
}
-DOPENSSL
strip
$@
endif
endif
endif
endif
endif
ifeq
($(OSTYPE),Darwin)
ifeq
($(MACHINETYPE),x86_64)
CC
=
gcc
CCFLAGS_SO
=
-fPIC
-Os
-Wall
-I
${
SSL_DIR
}
/include
CCFLAGS_EXE
=
-I
${
MQTTCLIENT_DIR
}
LDFLAGS
=
-shared
-Wl
,-install_name,lib
${
MQTTLIB
}
.so
LDFLAGS_S
=
-shared
-Wl
,-install_name,lib
${
MQTTLIB_S
}
.so
-ldl
-Wl
,-all_load
-L
${
SSL_DIR
}
/lib
-lcrypto
-lssl
LDFLAGS_A
=
-shared
-Wl
,-install_name,lib
${
MQTTLIB_A
}
.so
LDFLAGS_AS
=
-shared
-Wl
,-install_name,lib
${
MQTTLIB_AS
}
.so
-ldl
-Wl
,-all_load
-L
${
SSL_DIR
}
/lib
-lcrypto
-lssl
LDFLAGS_EXE
=
-lpthread
MQTTLIB_IA64
=
darwin_ia64/lib
${
MQTTLIB
}
.so
MQTTLIB_IA64_S
=
darwin_ia64/lib
${
MQTTLIB_S
}
.so
MQTTLIB_IA64_A
=
darwin_ia64/lib
${
MQTTLIB_A
}
.so
MQTTLIB_IA64_AS
=
darwin_ia64/lib
${
MQTTLIB_AS
}
.so
ifdef
BUILD_SAMPLES
all
:
darwin_ia64 ${MQTTLIB_IA64} ${MQTTLIB_IA64_A} ${MQTTLIB_IA64_S} ${MQTTLIB_IA64_AS} samples
else
all
:
darwin_ia64 ${MQTTLIB_IA64} ${MQTTLIB_IA64_A} ${MQTTLIB_IA64_S} ${MQTTLIB_IA64_AS}
endif
darwin_ia64
:
-
mkdir
darwin_ia64
samples
:
-
mkdir
${
SAMPLES_DIR
}
/darwin_ia64
${
CC
}
-m64
-I
${
MQTTCLIENT_DIR
}
-L
${
MQTTCLIENT_DIR
}
/darwin_ia64
-o
${
SAMPLES_DIR
}
/darwin_ia64/MQTTV3Sample
${
SAMPLES_DIR
}
/MQTTV3Sample.c
-lmqttv3c
-lpthread
${
CC
}
-m64
-I
${
MQTTCLIENT_DIR
}
-L
${
MQTTCLIENT_DIR
}
/darwin_ia64
-o
${
SAMPLES_DIR
}
/darwin_ia64/MQTTV3SSample
${
SAMPLES_DIR
}
/MQTTV3SSample.c
-lmqttv3cs
-lpthread
${
CC
}
-m64
-I
${
MQTTCLIENT_DIR
}
-L
${
MQTTCLIENT_DIR
}
/darwin_ia64
-o
${
SAMPLES_DIR
}
/darwin_ia64/MQTTV3ASample
${
SAMPLES_DIR
}
/MQTTV3ASample.c
-lmqttv3a
-lpthread
${
CC
}
-m64
-I
${
MQTTCLIENT_DIR
}
-L
${
MQTTCLIENT_DIR
}
/darwin_ia64
-o
${
SAMPLES_DIR
}
/darwin_ia64/MQTTV3ASSample
${
SAMPLES_DIR
}
/MQTTV3ASSample.c
-lmqttv3as
-lpthread
${MQTTLIB_IA64}
:
${SOURCE_FILES} ${HEADERS}
${
CC
}
-m64
${
CCFLAGS_SO
}
${
LDFLAGS
}
-o
$@
${
SOURCE_FILES
}
strip
-x
$@
${MQTTLIB_IA64_S}
:
${SOURCE_FILES_S} ${HEADERS}
${
CC
}
-m64
${
CCFLAGS_SO
}
${
LDFLAGS_S
}
-o
$@
${
SOURCE_FILES_S
}
-DOPENSSL
strip
-x
$@
${MQTTLIB_IA64_A}
:
${SOURCE_FILES_A} ${HEADERS_A}
${
CC
}
-m64
${
CCFLAGS_SO
}
${
LDFLAGS_A
}
-o
$@
${
SOURCE_FILES_A
}
strip
-x
$@
${MQTTLIB_IA64_AS}
:
${SOURCE_FILES_AS} ${HEADERS_A}
${
CC
}
-m64
${
CCFLAGS_SO
}
${
LDFLAGS_AS
}
-o
$@
${
SOURCE_FILES_AS
}
-DOPENSSL
strip
-x
$@
endif
endif
ifeq
($(OSTYPE),AIX)
# applications must be linked with -I. -L. -lmqttv3c -Wl,-brtl -pthread
CC
=
gxlc
CCFLAGS_SO
=
-fPIC
-Os
-shared
-DREVERSED
-DAIX
LDFLAGS
=
-Wl
,-G
MQTTLIB_AIX
=
aix/lib
${
MQTTLIB
}
.so
all
:
${MQTTLIB_AIX}
${MQTTLIB_AIX}
:
${SOURCE_FILES} ${HEADERS}
-
mkdir
aix
${
CC
}
${
CCFLAGS_SO
}
${
LDFLAGS
}
-o
$@
${
SOURCE_FILES
}
strip
$@
endif
ifeq
($(OSTYPE),Windows_NT)
CC
=
cl
LD
=
link
# compiler flags
CPPFLAGS
=
/D
"WIN32"
/D
"_UNICODE"
/D
"UNICODE"
/D
"_CRT_SECURE_NO_WARNINGS"
CFLAGS
=
/nologo /c /O2 /W3 /Fd /MD /TC
CPPFLAGS_S
=
/D
"OPENSSL"
/I
${
SSL_DIR
}
/include
# linker flags
LINKFLAGS
=
/nologo /machine:x86 /manifest
WINLIBS
=
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib
WINLIBS_S
=
crypt32.lib ssleay32.lib libeay32.lib
SSLLIBPATH
=
/LIBPATH:
${
SSL_DIR
}
/output/lib
# Flags to link C libraries
LIBLINKFLAGS
=
/dll
IMP
=
/implib:
$
(
@:.dll
=
.lib
)
LIBPDB
=
/pdb:
$
(
@:.dll
=
.pdb
)
LIBMAP
=
/map:
$
(
@:.dll
=
.map
)
LIBLDFLAGS
=
$(LINKFLAGS)
$(WINLIBS)
$(LIBLINKFLAGS)
$(IMP)
$(LIBPDB)
$(LIBMAP)
LIBLDFLAGS_S
=
$(LINKFLAGS)
$(SSLLIBPATH)
$(WINLIBS)
$(WINLIBS_S)
$(LIBLINKFLAGS)
$(IMP)
$(LIBPDB)
$(LIBMAP)
# Flags to link C programs
MAINLINKFLAGS
=
/subsystem:console
EXEPDB
=
/pdb:
$
(
@:.exe
=
.pdb
)
EXEMAP
=
/map:
$
(
@:.exe
=
.map
)
MAINLDFLAGS
=
$(LINKFLAGS)
$(WINLIBS)
$(MAINLINKFLAGS)
$(EXEPDB)
$(EXEMAP)
MQTTLDLIB
=
windows_ia32/
$(MQTTLIB)
.lib
MQTTDLL
=
windows_ia32/
$(MQTTLIB)
.dll
MQTTLDLIB_A
=
windows_ia32/
$(MQTTLIB_A)
.lib
MQTTDLL_A
=
windows_ia32/
$(MQTTLIB_A)
.dll
MQTTLDLIB_AS
=
windows_ia32/
$(MQTTLIB_AS)
.lib
MQTTDLL_AS
=
windows_ia32/
$(MQTTLIB_AS)
.dll
MQTTLDLIB_S
=
windows_ia32/
$(MQTTLIB_S)
.lib
MQTTDLL_S
=
windows_ia32/
$(MQTTLIB_S)
.dll
ifdef
BUILD_SAMPLES
all
:
windows_ia32 ${MQTTDLL} ${MQTTDLL_A} ${MQTTDLL_AS} ${MQTTDLL_S} samples
else
all
:
windows_ia32 ${MQTTDLL} ${MQTTDLL_A} ${MQTTDLL_AS} ${MQTTDLL_S}
endif
samples
:
-
mkdir
${
SAMPLES_DIR
}
/windows_ia32
${
CC
}
/nologo /D
"WIN32"
/I
${
MQTTCLIENT_DIR
}
${
SAMPLES_DIR
}
/MQTTV3Sample.c /Fe
${
SAMPLES_DIR
}
/windows_ia32/ /link /LIBPATH:
${
MQTTCLIENT_DIR
}
/windows_ia32 /nologo /subsystem:console /manifest /machine:x86 mqttv3c.lib
${
CC
}
/nologo /D
"WIN32"
/I
${
MQTTCLIENT_DIR
}
${
SAMPLES_DIR
}
/MQTTV3CSSample.c /Fe
${
SAMPLES_DIR
}
/windows_ia32/ /link /LIBPATH:
${
MQTTCLIENT_DIR
}
/windows_ia32 /nologo /subsystem:console /manifest /machine:x86 mqttv3cs.lib
${
CC
}
/nologo /D
"WIN32"
/I
${
MQTTCLIENT_DIR
}
${
SAMPLES_DIR
}
/MQTTV3ASample.c /Fe
${
SAMPLES_DIR
}
/windows_ia32/ /link /LIBPATH:
${
MQTTCLIENT_DIR
}
/windows_ia32 /nologo /subsystem:console /manifest /machine:x86 mqttv3a.lib
${
CC
}
/nologo /D
"WIN32"
/I
${
MQTTCLIENT_DIR
}
${
SAMPLES_DIR
}
/MQTTV3ASSample.c /Fe
${
SAMPLES_DIR
}
/windows_ia32/ /link /LIBPATH:
${
MQTTCLIENT_DIR
}
/windows_ia32 /nologo /subsystem:console /manifest /machine:x86 mqttv3as.lib
windows_ia32
:
-
mkdir
windows_ia32
$(MQTTDLL)
:
${SOURCE_FILES} ${HEADERS}
-
rm
-f
*
.obj
${
CC
}
${
CPPFLAGS
}
${
CFLAGS
}
/I
${
MQTTCLIENT_DIR
}
/I
${
MQTTCLIENT_DIR
}
/.. /Fo
${
SOURCE_FILES
}
$(LD)
$(LIBLDFLAGS)
*
.obj /out:
$(MQTTDLL)
mt
-manifest
windows_ia32/mqttv3c.dll.manifest
-outputresource
:
$(MQTTDLL)
\;
2
$(MQTTDLL_A)
:
${SOURCE_FILES_A} ${HEADERS_A}
-
rm
-f
*
.obj
${
CC
}
${
CPPFLAGS
}
${
CFLAGS
}
/I
${
MQTTCLIENT_DIR
}
/I
${
MQTTCLIENT_DIR
}
/.. /Fo
${
SOURCE_FILES_A
}
$(LD)
$(LIBLDFLAGS)
*
.obj /out:
$(MQTTDLL_A)
mt
-manifest
windows_ia32/mqttv3a.dll.manifest
-outputresource
:
$(MQTTDLL_A)
\;
2
$(MQTTDLL_S)
:
${SOURCE_FILES_S} ${HEADERS}
-
rm
-f
*
.obj
${
CC
}
${
CPPFLAGS
}
${
CFLAGS
}
${
CPPFLAGS_S
}
/I
${
MQTTCLIENT_DIR
}
/I
${
MQTTCLIENT_DIR
}
/.. /Fo
${
SOURCE_FILES_S
}
$(LD)
$(LIBLDFLAGS_S)
*
.obj /out:
$(MQTTDLL_S)
mt
-manifest
windows_ia32/mqttv3cs.dll.manifest
-outputresource
:
$(MQTTDLL_S)
\;
2
$(MQTTDLL_AS)
:
${SOURCE_FILES_AS} ${HEADERS}
-
rm
-f
*
.obj
${
CC
}
${
CPPFLAGS
}
${
CFLAGS
}
${
CPPFLAGS_S
}
/I
${
MQTTCLIENT_DIR
}
/I
${
MQTTCLIENT_DIR
}
/.. /Fo
${
SOURCE_FILES_AS
}
$(LD)
$(LIBLDFLAGS_S)
*
.obj /out:
$(MQTTDLL_AS)
mt
-manifest
windows_ia32/mqttv3as.dll.manifest
-outputresource
:
$(MQTTDLL_AS)
\;
2
endif
#########################################################################################################
# The following was how the C Clients were built using cygwin GNU make and has been left here as a reference
# This has been converted to use ming GNU make (which uses the native format of file names)
#
#$(MQTTDLL): $(shell cygpath -au ${SOURCE_FILES}) $(shell cygpath -au ${HEADERS})
# -mkdir windows_ia32
# ${CC} ${CPPFLAGS} ${CFLAGS} /I $(shell cygpath -am ${MQTTCLIENT_DIR}) /I $(shell cygpath -am ${MQTTCLIENT_DIR})/.. /Fo $(shell cygpath -am ${SOURCE_FILES})
# $(LD) $(LIBLDFLAGS) *.obj /out:$(MQTTDLL)
# mt -manifest windows_ia32/mqttv3c.dll.manifest -outputresource:$(MQTTDLL)\;2
#
#endif
#########################################################################################################
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment