2 # Copyright (C) 2011-2013 OpenWrt.org
3 # Copyright (C) 2010 Jo-Philipp Wich <xm@subsignal.org>
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
9 include $(TOPDIR
)/rules.mk
14 PKG_LICENSE
:=BSD-3-Clause
15 PKG_LICENSE_FILES
:=LICENSE.txt
16 PKG_CPE_ID
:=cpe
:/a
:eclipse
:mosquitto
18 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
19 PKG_SOURCE_URL
:=https
://mosquitto.org
/files
/source
/
20 PKG_HASH
:=bcd31a8fbbd053fee328986fadd8666d3058357ded56b9782f7d4f19931d178e
22 include $(INCLUDE_DIR
)/package.mk
24 define Package
/mosquitto
/default
27 TITLE
:=mosquitto
- an MQTT message broker
28 URL
:=http
://www.mosquitto.org
/
29 MAINTAINER
:=Karl Palsson
<karlp@etactica.com
>
31 USERID
:=mosquitto
=200:mosquitto
=200
34 define Package
/mosquitto-ssl
35 $(call Package
/mosquitto
/default
)
36 TITLE
+= (with SSL support
)
37 DEPENDS
+= +libopenssl
+MOSQUITTO_LWS
:libwebsockets-openssl
42 define Package
/mosquitto-nossl
43 $(call Package
/mosquitto
/default
)
44 TITLE
+= (without SSL support
)
49 define Package
/mosquitto-ssl
/config
50 source
"$(SOURCE)/Config.in"
53 define Package
/mosquitto
/default
/description
54 Mosquitto is an open source
(BSD licensed
) message broker that implements
55 the MQTT protocol version
3.1 and
3.1.1. MQTT provides a lightweight
56 method of carrying out messaging using a publish
/subscribe model.
58 This package also includes some basic support for configuring via UCI
61 define Package
/mosquitto-ssl
/description
62 $(call Package
/mosquitto
/default
/description
)
63 This package is built with SSL support. TLS-PSK will be included
(in both
64 the client and broker
) if OpenSSL is built with TLS-PSK support.
67 define Package
/mosquitto-nossl
/description
68 $(call Package
/mosquitto
/default
/description
)
69 This package is built WITHOUT SSL support.
73 define Package
/mosquitto-client
/default
74 $(Package
/mosquitto
/default
)
75 TITLE
:= mosquitto
- client tools
77 PROVIDES
:=mosquitto-client
79 define Package
/mosquitto-client-ssl
80 $(call Package
/mosquitto-client
/default
)
81 TITLE
+= (With SSL support
)
82 DEPENDS
+=+libmosquitto-ssl
85 define Package
/mosquitto-client-nossl
86 $(call Package
/mosquitto-client
/default
)
87 TITLE
+= (Without SSL support
)
88 DEPENDS
+=+libmosquitto-nossl
92 define Package
/mosquitto-client
/default
/description
93 Command line client tools for publishing messages to MQTT servers
94 and subscribing to topics.
97 define Package
/mosquitto-client-ssl
/description
98 $(call Package
/mosquitto-client
/default
/description
)
99 This package is built with SSL support
101 define Package
/mosquitto-client-nossl
/description
102 $(call Package
/mosquitto-client
/default
/description
)
103 This package is built without SSL support
106 define Package
/libmosquitto
/default
107 $(Package
/mosquitto
/default
)
110 DEPENDS
:=+libpthread
+librt
+libcares
111 TITLE
:= mosquitto
- client library
112 PROVIDES
:=libmosquitto
115 define Package
/libmosquitto-ssl
116 $(call Package
/libmosquitto
/default
)
117 TITLE
+= (With SSL Support
)
118 DEPENDS
+= +libopenssl
121 define Package
/libmosquitto-nossl
122 $(call Package
/libmosquitto
/default
)
123 TITLE
+= (Without SSL Support
)
127 define Package
/libmosquitto
/default
/description
128 Library required for mosquitto
's command line client tools, also for
129 use by any third party software that wants to communicate with a
132 Should be useable for communicating with any MQTT v3.1/3.1.1 compatible
133 server, such as IBM's RSMB
, in addition to Mosquitto
136 define Package
/libmosquitto-ssl
/description
137 $(call Package
/libmosquitto
/default
/description
)
138 This package is built with SSL support
140 define Package
/libmosquitto-nossl
/description
141 $(call Package
/libmosquitto
/default
/description
)
142 This package is built without SSL support
145 define Package
/libmosquittopp
148 DEPENDS
:=libmosquitto
+libstdcpp
149 TITLE
:= mosquitto
- client c
++ library
152 define Package
/libmosquittopp
/description
153 C
++ Library wrapper for libmosquitto.
156 define Package
/mosquitto-ssl
/conffiles
157 /etc
/mosquitto
/mosquitto.conf
158 /etc
/config
/mosquitto
161 Package
/mosquitto-nossl
/conffiles
= $(Package
/mosquitto-ssl
/conffiles
)
163 define Package
/mosquitto
/install/default
164 $(INSTALL_DIR
) $(1)/usr
/sbin
165 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/src
/mosquitto
$(1)/usr
/sbin
/mosquitto
166 $(INSTALL_DIR
) $(1)/etc
/mosquitto
167 $(INSTALL_CONF
) $(PKG_BUILD_DIR
)/mosquitto.conf
$(1)/etc
/mosquitto
/mosquitto.conf
168 $(CP
) .
/files
/* $(1)/
171 define Package
/mosquitto-nossl
/install
172 $(call Package
/mosquitto
/install/default
,$(1))
175 define Package
/mosquitto-ssl
/install
176 $(call Package
/mosquitto
/install/default
,$(1))
177 ifeq ($(CONFIG_MOSQUITTO_PASSWD
),y
)
178 $(INSTALL_DIR
) $(1)/usr
/bin
179 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/src
/mosquitto_passwd
$(1)/usr
/bin
183 define Package
/mosquitto-client-ssl
/install
184 $(INSTALL_DIR
) $(1)/usr
/bin
185 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/client
/mosquitto_pub
$(1)/usr
/bin
/mosquitto_pub
186 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/client
/mosquitto_sub
$(1)/usr
/bin
/mosquitto_sub
188 Package
/mosquitto-client-nossl
/install = $(Package
/mosquitto-client-ssl
/install)
190 # This installs files into ./staging_dir/. so that you can cross compile from the host
191 define Build
/InstallDev
192 $(INSTALL_DIR
) $(1)/usr
/include
193 $(CP
) $(PKG_BUILD_DIR
)/lib
/mosquitto.h
$(1)/usr
/include
194 $(CP
) $(PKG_BUILD_DIR
)/lib
/cpp/mosquittopp.h
$(1)/usr
/include
195 $(CP
) $(PKG_BUILD_DIR
)/src
/mosquitto_plugin.h
$(1)/usr
/include
196 $(CP
) $(PKG_BUILD_DIR
)/src
/mosquitto_broker.h
$(1)/usr
/include
197 $(INSTALL_DIR
) $(1)/usr
/lib
198 $(CP
) $(PKG_BUILD_DIR
)/lib
/libmosquitto.so
.1 $(1)/usr
/lib
/
199 $(CP
) $(PKG_BUILD_DIR
)/lib
/cpp/libmosquittopp.so
.1 $(1)/usr
/lib
/
200 $(LN
) libmosquitto.so
.1 $(1)/usr
/lib
/libmosquitto.so
201 $(LN
) libmosquittopp.so
.1 $(1)/usr
/lib
/libmosquittopp.so
202 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
203 $(CP
) $(PKG_BUILD_DIR
)/libmosquitto.
pc.in
$(1)/usr
/lib
/pkgconfig
/libmosquitto.
pc
204 sed
-i
-e
"s#@CMAKE_INSTALL_PREFIX@#/usr#" \
205 -e
"s#@VERSION@#$(PKG_VERSION)#" \
206 $(1)/usr
/lib
/pkgconfig
/libmosquitto.
pc
207 $(CP
) $(PKG_BUILD_DIR
)/libmosquittopp.
pc.in
$(1)/usr
/lib
/pkgconfig
/libmosquittopp.
pc
208 sed
-i
-e
"s#@CMAKE_INSTALL_PREFIX@#/usr#" \
209 -e
"s#@VERSION@#$(PKG_VERSION)#" \
210 $(1)/usr
/lib
/pkgconfig
/libmosquittopp.
pc
213 # This installs files on the target. Compare with Build/InstallDev
214 define Package
/libmosquitto-ssl
/install
215 $(INSTALL_DIR
) $(1)/usr
/lib
216 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/lib
/libmosquitto.so
.1 $(1)/usr
/lib
/
217 $(LN
) libmosquitto.so
.1 $(1)/usr
/lib
/libmosquitto.so
219 Package
/libmosquitto-nossl
/install = $(Package
/libmosquitto-ssl
/install)
221 define Package
/libmosquittopp
/install
222 $(INSTALL_DIR
) $(1)/usr
/lib
223 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/lib
/cpp/libmosquittopp.so
.1 $(1)/usr
/lib
/
224 $(LN
) libmosquittopp.so
.1 $(1)/usr
/lib
/libmosquittopp.so
228 MAKE_FLAGS
+= WITH_DOCS
=no UNAME
=Linux
229 ifeq ($(BUILD_VARIANT
),nossl
)
230 MAKE_FLAGS
+= WITH_TLS
=no WITH_WEBSOCKETS
=no
232 MAKE_FLAGS
+= WITH_WEBSOCKETS
=$(if
$(CONFIG_MOSQUITTO_LWS
),"yes","no")
233 MAKE_FLAGS
+= WITH_TLS_PSK
=$(if
$(CONFIG_OPENSSL_WITH_PSK
),"yes","no")
236 $(eval
$(call BuildPackage
,mosquitto-ssl
))
237 $(eval
$(call BuildPackage
,mosquitto-nossl
))
238 $(eval
$(call BuildPackage
,libmosquitto-ssl
))
239 $(eval
$(call BuildPackage
,libmosquitto-nossl
))
240 $(eval
$(call BuildPackage
,libmosquittopp
))
241 $(eval
$(call BuildPackage
,mosquitto-client-ssl
))
242 $(eval
$(call BuildPackage
,mosquitto-client-nossl
))