xref: /OK3568_Linux_fs/buildroot/package/mosquitto/mosquitto.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# mosquitto
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunMOSQUITTO_VERSION = 2.0.14
8*4882a593SmuzhiyunMOSQUITTO_SITE = https://mosquitto.org/files/source
9*4882a593SmuzhiyunMOSQUITTO_LICENSE = EPL-2.0 or EDLv1.0
10*4882a593SmuzhiyunMOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v20 edl-v10
11*4882a593SmuzhiyunMOSQUITTO_CPE_ID_VENDOR = eclipse
12*4882a593SmuzhiyunMOSQUITTO_INSTALL_STAGING = YES
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS = \
15*4882a593Smuzhiyun	CLIENT_STATIC_LDADD="$(MOSQUITTO_STATIC_LIBS)" \
16*4882a593Smuzhiyun	UNAME=Linux \
17*4882a593Smuzhiyun	STRIP=true \
18*4882a593Smuzhiyun	prefix=/usr \
19*4882a593Smuzhiyun	WITH_WRAP=no \
20*4882a593Smuzhiyun	WITH_DOCS=no
21*4882a593Smuzhiyun
22*4882a593Smuzhiyunifeq ($(BR2_SHARED_LIBS),y)
23*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_STATIC_LIBRARIES=no
24*4882a593Smuzhiyunelse
25*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_STATIC_LIBRARIES=yes
26*4882a593Smuzhiyunendif
27*4882a593Smuzhiyun
28*4882a593Smuzhiyunifeq ($(BR2_STATIC_LIBS),y)
29*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_SHARED_LIBRARIES=no
30*4882a593Smuzhiyunelse
31*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_SHARED_LIBRARIES=yes
32*4882a593Smuzhiyunendif
33*4882a593Smuzhiyun
34*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_SYSTEMD),y)
35*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_SYSTEMD=yes
36*4882a593SmuzhiyunMOSQUITTO_DEPENDENCIES += systemd
37*4882a593Smuzhiyunendif
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun# adns uses getaddrinfo_a
40*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
41*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_ADNS=yes
42*4882a593Smuzhiyunelse
43*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_ADNS=no
44*4882a593Smuzhiyunendif
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun# threaded API uses pthread_setname_np
47*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),y)
48*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_THREADING=yes
49*4882a593Smuzhiyunelse
50*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_THREADING=no
51*4882a593Smuzhiyunendif
52*4882a593Smuzhiyun
53*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENSSL),y)
54*4882a593SmuzhiyunMOSQUITTO_DEPENDENCIES += host-pkgconf openssl
55*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_TLS=yes
56*4882a593SmuzhiyunMOSQUITTO_STATIC_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs openssl`
57*4882a593Smuzhiyunelse
58*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_TLS=no
59*4882a593Smuzhiyunendif
60*4882a593Smuzhiyun
61*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_CJSON),y)
62*4882a593SmuzhiyunMOSQUITTO_DEPENDENCIES += cjson
63*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_CJSON=yes
64*4882a593SmuzhiyunMOSQUITTO_STATIC_LIBS += -lcjson
65*4882a593Smuzhiyunelse
66*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_CJSON=no
67*4882a593Smuzhiyunendif
68*4882a593Smuzhiyun
69*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_C_ARES),y)
70*4882a593SmuzhiyunMOSQUITTO_DEPENDENCIES += c-ares
71*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_SRV=yes
72*4882a593Smuzhiyunelse
73*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_SRV=no
74*4882a593Smuzhiyunendif
75*4882a593Smuzhiyun
76*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBWEBSOCKETS),y)
77*4882a593SmuzhiyunMOSQUITTO_DEPENDENCIES += libwebsockets
78*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_WEBSOCKETS=yes
79*4882a593Smuzhiyunelse
80*4882a593SmuzhiyunMOSQUITTO_MAKE_OPTS += WITH_WEBSOCKETS=no
81*4882a593Smuzhiyunendif
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun# C++ support is only used to create a wrapper library
84*4882a593Smuzhiyunifneq ($(BR2_INSTALL_LIBSTDCPP),y)
85*4882a593Smuzhiyundefine MOSQUITTO_DISABLE_CPP
86*4882a593Smuzhiyun	$(SED) '/-C cpp/d' $(@D)/lib/Makefile
87*4882a593Smuzhiyunendef
88*4882a593Smuzhiyun
89*4882a593SmuzhiyunMOSQUITTO_POST_PATCH_HOOKS += MOSQUITTO_DISABLE_CPP
90*4882a593Smuzhiyunendif
91*4882a593Smuzhiyun
92*4882a593SmuzhiyunMOSQUITTO_MAKE_DIRS = lib client
93*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER),y)
94*4882a593SmuzhiyunMOSQUITTO_MAKE_DIRS += src
95*4882a593Smuzhiyunendif
96*4882a593Smuzhiyun
97*4882a593Smuzhiyundefine MOSQUITTO_BUILD_CMDS
98*4882a593Smuzhiyun	$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS="$(MOSQUITTO_MAKE_DIRS)" \
99*4882a593Smuzhiyun		$(MOSQUITTO_MAKE_OPTS)
100*4882a593Smuzhiyunendef
101*4882a593Smuzhiyun
102*4882a593Smuzhiyundefine MOSQUITTO_INSTALL_STAGING_CMDS
103*4882a593Smuzhiyun	$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS="$(MOSQUITTO_MAKE_DIRS)" \
104*4882a593Smuzhiyun		$(MOSQUITTO_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install
105*4882a593Smuzhiyunendef
106*4882a593Smuzhiyun
107*4882a593Smuzhiyundefine MOSQUITTO_INSTALL_TARGET_CMDS
108*4882a593Smuzhiyun	$(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS="$(MOSQUITTO_MAKE_DIRS)" \
109*4882a593Smuzhiyun		$(MOSQUITTO_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install
110*4882a593Smuzhiyun	rm -f $(TARGET_DIR)/etc/mosquitto/*.example
111*4882a593Smuzhiyun	$(INSTALL) -D -m 0644 $(@D)/mosquitto.conf \
112*4882a593Smuzhiyun		$(TARGET_DIR)/etc/mosquitto/mosquitto.conf
113*4882a593Smuzhiyunendef
114*4882a593Smuzhiyun
115*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER),y)
116*4882a593Smuzhiyundefine MOSQUITTO_INSTALL_INIT_SYSV
117*4882a593Smuzhiyun	$(INSTALL) -D -m 0755 package/mosquitto/S50mosquitto \
118*4882a593Smuzhiyun		$(TARGET_DIR)/etc/init.d/S50mosquitto
119*4882a593Smuzhiyunendef
120*4882a593Smuzhiyun
121*4882a593Smuzhiyundefine MOSQUITTO_INSTALL_INIT_SYSTEMD
122*4882a593Smuzhiyun	$(INSTALL) -D -m 644 $(@D)/service/systemd/mosquitto.service.notify \
123*4882a593Smuzhiyun		$(TARGET_DIR)/usr/lib/systemd/system/mosquitto.service
124*4882a593Smuzhiyunendef
125*4882a593Smuzhiyun
126*4882a593Smuzhiyundefine MOSQUITTO_USERS
127*4882a593Smuzhiyun	mosquitto -1 nobody -1 * - - - Mosquitto user
128*4882a593Smuzhiyunendef
129*4882a593Smuzhiyunendif
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun$(eval $(generic-package))
132