123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389 |
- WITH_TLS:=yes
- WITH_TLS_PSK:=yes
- WITH_THREADING:=yes
- WITH_BRIDGE:=yes
- WITH_PERSISTENCE:=yes
- WITH_MEMORY_TRACKING:=yes
- WITH_SYS_TREE:=yes
- WITH_SYSTEMD:=no
- WITH_SRV:=no
- WITH_WEBSOCKETS:=no
- WITH_EC:=yes
- WITH_DOCS:=yes
- WITH_SOCKS:=yes
- WITH_STRIP:=no
- WITH_STATIC_LIBRARIES:=no
- CLIENT_STATIC_LDADD:=
- WITH_SHARED_LIBRARIES:=yes
- WITH_EPOLL:=yes
- WITH_BUNDLED_DEPS:=yes
- WITH_COVERAGE:=no
- WITH_UNIX_SOCKETS:=yes
- WITH_CJSON:=no
- WITH_CONTROL:=yes
- WITH_JEMALLOC:=no
- WITH_XTREPORT=no
- VERSION=2.0.13
- SOVERSION=1
- XSLTPROC=xsltproc --nonet
- DB_HTML_XSL=man/html.xsl
- UNAME:=$(shell uname -s)
- ARCH:=$(shell uname -p)
- ifeq ($(UNAME),SunOS)
- ifeq ($(CC),cc)
- CFLAGS?=-O
- else
- CFLAGS?=-Wall -ggdb -O2
- endif
- else
- CFLAGS?=-Wall -ggdb -O2 -Wconversion -Wextra
- endif
- STATIC_LIB_DEPS:=
- APP_CPPFLAGS=$(CPPFLAGS) -I. -I../../ -I../../include -I../../src -I../../lib
- APP_CFLAGS=$(CFLAGS) -DVERSION=\""${VERSION}\""
- APP_LDFLAGS:=$(LDFLAGS)
- LIB_CPPFLAGS=$(CPPFLAGS) -I. -I.. -I../include -I../../include
- LIB_CFLAGS:=$(CFLAGS)
- LIB_CXXFLAGS:=$(CXXFLAGS)
- LIB_LDFLAGS:=$(LDFLAGS)
- LIB_LIBADD:=$(LIBADD)
- BROKER_CPPFLAGS:=$(LIB_CPPFLAGS) -I../lib
- BROKER_CFLAGS:=${CFLAGS} -DVERSION="\"${VERSION}\"" -DWITH_BROKER
- BROKER_LDFLAGS:=${LDFLAGS}
- BROKER_LDADD:=
- CLIENT_CPPFLAGS:=$(CPPFLAGS) -I.. -I../include
- CLIENT_CFLAGS:=${CFLAGS} -DVERSION="\"${VERSION}\""
- CLIENT_LDFLAGS:=$(LDFLAGS) -L../lib
- CLIENT_LDADD:=
- PASSWD_LDADD:=
- PLUGIN_CPPFLAGS:=$(CPPFLAGS) -I../.. -I../../include
- PLUGIN_CFLAGS:=$(CFLAGS) -fPIC
- PLUGIN_LDFLAGS:=$(LDFLAGS)
- ifneq ($(or $(findstring $(UNAME),FreeBSD), $(findstring $(UNAME),OpenBSD), $(findstring $(UNAME),NetBSD)),)
- BROKER_LDADD:=$(BROKER_LDADD) -lm
- BROKER_LDFLAGS:=$(BROKER_LDFLAGS) -Wl,--dynamic-list=linker.syms
- SEDINPLACE:=-i ""
- else
- BROKER_LDADD:=$(BROKER_LDADD) -ldl -lm
- SEDINPLACE:=-i
- endif
- ifeq ($(UNAME),Linux)
- BROKER_LDADD:=$(BROKER_LDADD) -lrt
- BROKER_LDFLAGS:=$(BROKER_LDFLAGS) -Wl,--dynamic-list=linker.syms
- LIB_LIBADD:=$(LIB_LIBADD) -lrt
- endif
- ifeq ($(WITH_SHARED_LIBRARIES),yes)
- CLIENT_LDADD:=${CLIENT_LDADD} ../lib/libmosquitto.so.${SOVERSION}
- endif
- ifeq ($(UNAME),SunOS)
- SEDINPLACE:=
- ifeq ($(ARCH),sparc)
- ifeq ($(CC),cc)
- LIB_CFLAGS:=$(LIB_CFLAGS) -xc99 -KPIC
- else
- LIB_CFLAGS:=$(LIB_CFLAGS) -fPIC
- endif
- endif
- ifeq ($(ARCH),i386)
- LIB_CFLAGS:=$(LIB_CFLAGS) -fPIC
- endif
- ifeq ($(CXX),CC)
- LIB_CXXFLAGS:=$(LIB_CXXFLAGS) -KPIC
- else
- LIB_CXXFLAGS:=$(LIB_CXXFLAGS) -fPIC
- endif
- else
- LIB_CFLAGS:=$(LIB_CFLAGS) -fPIC
- LIB_CXXFLAGS:=$(LIB_CXXFLAGS) -fPIC
- endif
- ifneq ($(UNAME),SunOS)
- LIB_LDFLAGS:=$(LIB_LDFLAGS) -Wl,--version-script=linker.version -Wl,-soname,libmosquitto.so.$(SOVERSION)
- endif
- ifeq ($(UNAME),QNX)
- BROKER_LDADD:=$(BROKER_LDADD) -lsocket
- LIB_LIBADD:=$(LIB_LIBADD) -lsocket
- endif
- ifeq ($(WITH_WRAP),yes)
- BROKER_LDADD:=$(BROKER_LDADD) -lwrap
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_WRAP
- endif
- ifeq ($(WITH_TLS),yes)
- APP_CPPFLAGS:=$(APP_CPPFLAGS) -DWITH_TLS
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_TLS
- BROKER_LDADD:=$(BROKER_LDADD) -lssl -lcrypto
- CLIENT_CPPFLAGS:=$(CLIENT_CPPFLAGS) -DWITH_TLS
- LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -DWITH_TLS
- LIB_LIBADD:=$(LIB_LIBADD) -lssl -lcrypto
- PASSWD_LDADD:=$(PASSWD_LDADD) -lcrypto
- STATIC_LIB_DEPS:=$(STATIC_LIB_DEPS) -lssl -lcrypto
- ifeq ($(WITH_TLS_PSK),yes)
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_TLS_PSK
- LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -DWITH_TLS_PSK
- CLIENT_CPPFLAGS:=$(CLIENT_CPPFLAGS) -DWITH_TLS_PSK
- endif
- endif
- ifeq ($(WITH_THREADING),yes)
- LIB_LIBADD:=$(LIB_LIBADD) -lpthread
- LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -DWITH_THREADING
- CLIENT_CPPFLAGS:=$(CLIENT_CPPFLAGS) -DWITH_THREADING
- STATIC_LIB_DEPS:=$(STATIC_LIB_DEPS) -lpthread
- endif
- ifeq ($(WITH_SOCKS),yes)
- LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -DWITH_SOCKS
- CLIENT_CPPFLAGS:=$(CLIENT_CPPFLAGS) -DWITH_SOCKS
- endif
- ifeq ($(WITH_BRIDGE),yes)
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_BRIDGE
- endif
- ifeq ($(WITH_PERSISTENCE),yes)
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_PERSISTENCE
- endif
- ifeq ($(WITH_MEMORY_TRACKING),yes)
- ifneq ($(UNAME),SunOS)
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_MEMORY_TRACKING
- endif
- endif
- ifeq ($(WITH_SYS_TREE),yes)
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_SYS_TREE
- endif
- ifeq ($(WITH_SYSTEMD),yes)
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_SYSTEMD
- BROKER_LDADD:=$(BROKER_LDADD) -lsystemd
- endif
- ifeq ($(WITH_SRV),yes)
- LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -DWITH_SRV
- LIB_LIBADD:=$(LIB_LIBADD) -lcares
- CLIENT_CPPFLAGS:=$(CLIENT_CPPFLAGS) -DWITH_SRV
- STATIC_LIB_DEPS:=$(STATIC_LIB_DEPS) -lcares
- endif
- ifeq ($(UNAME),SunOS)
- BROKER_LDADD:=$(BROKER_LDADD) -lsocket -lnsl
- LIB_LIBADD:=$(LIB_LIBADD) -lsocket -lnsl
- endif
- ifeq ($(WITH_EC),yes)
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_EC
- endif
- ifeq ($(WITH_ADNS),yes)
- BROKER_LDADD:=$(BROKER_LDADD) -lanl
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_ADNS
- endif
- ifeq ($(WITH_CONTROL),yes)
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_CONTROL
- endif
- MAKE_ALL:=mosquitto
- ifeq ($(WITH_DOCS),yes)
- MAKE_ALL:=$(MAKE_ALL) docs
- endif
- ifeq ($(WITH_JEMALLOC),yes)
- BROKER_LDADD:=$(BROKER_LDADD) -ljemalloc
- endif
- ifeq ($(WITH_UNIX_SOCKETS),yes)
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_UNIX_SOCKETS
- LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -DWITH_UNIX_SOCKETS
- CLIENT_CPPFLAGS:=$(CLIENT_CPPFLAGS) -DWITH_UNIX_SOCKETS
- endif
- ifeq ($(WITH_WEBSOCKETS),yes)
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_WEBSOCKETS
- BROKER_LDADD:=$(BROKER_LDADD) -lwebsockets
- endif
- ifeq ($(WITH_WEBSOCKETS),static)
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_WEBSOCKETS
- BROKER_LDADD:=$(BROKER_LDADD) -static -lwebsockets
- endif
- INSTALL?=install
- prefix?=/usr/local
- incdir?=${prefix}/include
- libdir?=${prefix}/lib${LIB_SUFFIX}
- localedir?=${prefix}/share/locale
- mandir?=${prefix}/share/man
- STRIP?=strip
- ifeq ($(WITH_STRIP),yes)
- STRIP_OPTS?=-s --strip-program=${CROSS_COMPILE}${STRIP}
- endif
- ifeq ($(WITH_EPOLL),yes)
- ifeq ($(UNAME),Linux)
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -DWITH_EPOLL
- endif
- endif
- ifeq ($(WITH_BUNDLED_DEPS),yes)
- BROKER_CPPFLAGS:=$(BROKER_CPPFLAGS) -I../deps
- LIB_CPPFLAGS:=$(LIB_CPPFLAGS) -I../deps
- PLUGIN_CPPFLAGS:=$(PLUGIN_CPPFLAGS) -I../../deps
- endif
- ifeq ($(WITH_COVERAGE),yes)
- BROKER_CFLAGS:=$(BROKER_CFLAGS) -coverage
- BROKER_LDFLAGS:=$(BROKER_LDFLAGS) -coverage
- PLUGIN_CFLAGS:=$(PLUGIN_CFLAGS) -coverage
- PLUGIN_LDFLAGS:=$(PLUGIN_LDFLAGS) -coverage
- LIB_CFLAGS:=$(LIB_CFLAGS) -coverage
- LIB_LDFLAGS:=$(LIB_LDFLAGS) -coverage
- CLIENT_CFLAGS:=$(CLIENT_CFLAGS) -coverage
- CLIENT_LDFLAGS:=$(CLIENT_LDFLAGS) -coverage
- endif
- ifeq ($(WITH_CJSON),yes)
- CLIENT_CFLAGS:=$(CLIENT_CFLAGS) -DWITH_CJSON
- CLIENT_LDADD:=$(CLIENT_LDADD) -lcjson
- CLIENT_STATIC_LDADD:=$(CLIENT_STATIC_LDADD) -lcjson
- CLIENT_LDFLAGS:=$(CLIENT_LDFLAGS)
- endif
- ifeq ($(WITH_XTREPORT),yes)
- BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_XTREPORT
- endif
- BROKER_LDADD:=${BROKER_LDADD} ${LDADD}
- CLIENT_LDADD:=${CLIENT_LDADD} ${LDADD}
- PASSWD_LDADD:=${PASSWD_LDADD} ${LDADD}
|