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
4a9f71be
Commit
4a9f71be
authored
May 08, 2014
by
Ian Craggs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add build for OSX
parent
bf67bab4
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
150 additions
and
5 deletions
+150
-5
Makefile
Makefile
+127
-1
build.xml
build.xml
+23
-4
No files found.
Makefile
View file @
4a9f71be
#*******************************************************************************
# Copyright (c) 2009, 201
3
IBM Corp.
# Copyright (c) 2009, 201
4
IBM Corp.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
...
...
@@ -14,6 +14,7 @@
# Ian Craggs - initial API and implementation and/or initial documentation
# Allan Stockdill-Mander - SSL updates
# Andy Piper - various fixes
# Ian Craggs - OSX build
#*******************************************************************************/
# Note: on OS X you should install XCode and the associated command-line tools
...
...
@@ -208,3 +209,128 @@ html:
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
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
-lcrypto
-lssl
-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
-lcrypto
-lssl
-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
build.xml
View file @
4a9f71be
...
...
@@ -24,7 +24,7 @@
</taskdef>
<property
name=
"output.folder"
value=
"build/output"
/>
<property
name=
"release.version"
value=
"0.
4
.0"
/>
<property
name=
"release.version"
value=
"0.
9
.0"
/>
<property
name=
"libname"
value=
"mqttv3c"
/>
<property
name=
"libname.ssl"
value=
"mqttv3cs"
/>
...
...
@@ -73,6 +73,7 @@
<arg
value=
"--connection"
/>
<arg
value=
"tcp://${test.hostname}:${test.port}"
/>
<env
key=
"LD_LIBRARY_PATH"
path=
"${output.folder}"
/>
<env
key=
"DYLD_LIBRARY_PATH"
path=
"${output.folder}"
/>
</exec>
</target>
...
...
@@ -81,6 +82,7 @@
<arg
value=
"--hostname"
/>
<arg
value=
"${test.hostname}"
/>
<env
key=
"LD_LIBRARY_PATH"
path=
"${output.folder}"
/>
<env
key=
"DYLD_LIBRARY_PATH"
path=
"${output.folder}"
/>
</exec>
</target>
...
...
@@ -124,12 +126,29 @@
<exec
executable=
"make"
dir=
"."
/>
</then>
</if>
</then>
</if>
<if>
<os
family=
"windows"
/>
<then>
<delete
dir=
"${output.folder}"
/>
<!-- display gcc version -->
<exec
executable=
"cl"
failonerror=
"true"
>
</exec>
<if>
<available
file=
"msbuild.exe"
/>
<then>
<exec
executable=
"msbuild"
dir=
"."
>
<arg
line=
"Windows Build\Paho C MQTT APIs.sln"
/>
<arg
line=
"/p:Configuration=Release"
/>
</exec>
</then>
</if>
</then>
</if>
</target>
<target
name=
"package"
>
<target
name=
"package"
>
<mkdir
dir=
"${output.folder}/include"
/>
<copy
overwrite=
"true"
todir=
"${output.folder}/include"
>
<fileset
dir=
"src"
includes=
"MQTTClient.h,MQTTAsync.h,MQTTClientPersistence.h"
/>
...
...
@@ -155,7 +174,7 @@
<exec
executable=
"tar"
failonerror=
"true"
dir=
"${output.folder}"
>
<arg
value=
"acf"
/>
<arg
value=
"paho-mqtt-c-unix-${release.version}.tar.gz"
/>
<arg
value=
"paho-mqtt-c-unix-
incubation-
${release.version}.tar.gz"
/>
<arg
value=
"about.html"
/>
<arg
value=
"notice.html"
/>
<arg
value=
"README.md"
/>
...
...
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