mosquitto/lib/Makefile

146 lines
3.6 KiB
Makefile
Raw Normal View History

2022-02-09 15:44:09 +01:00
R=..
include ${R}/config.mk
2014-05-08 00:27:00 +02:00
LOCAL_CFLAGS+=-fPIC
LOCAL_CPPFLAGS+=-I${R}/libcommon
LOCAL_LDFLAGS+=-Wl,--version-script=linker.version -Wl,-soname,libmosquitto.so.$(SOVERSION) -fPIC -shared
2024-06-09 23:05:01 +02:00
LOCAL_LIBADD+=-lcjson -lc ${LIBMOSQ_COMMON}
2023-05-10 17:20:06 +02:00
STATIC_LIB_DEPS:=
# ------------------------------------------
# Compile time options
# ------------------------------------------
ifeq ($(WITH_SOCKS),yes)
LOCAL_CPPFLAGS+=-DWITH_SOCKS
2023-05-10 17:20:06 +02:00
endif
ifeq ($(WITH_SRV),yes)
LOCAL_CPPFLAGS+=-DWITH_SRV
LOCAL_LIBADD+=-lcares
2023-05-10 17:20:06 +02:00
STATIC_LIB_DEPS+=-lcares
endif
ifeq ($(WITH_THREADING),yes)
LOCAL_CFLAGS+=-pthread
LOCAL_CPPFLAGS+=-DWITH_THREADING
LOCAL_LDFLAGS+=-pthread
2023-05-10 17:20:06 +02:00
STATIC_LIB_DEPS+=-pthread
endif
ifeq ($(WITH_TLS),yes)
LOCAL_LIBADD+=-lssl -lcrypto
2023-05-10 17:20:06 +02:00
STATIC_LIB_DEPS:=$(STATIC_LIB_DEPS) -lssl -lcrypto
endif
# ------------------------------------------
# Targets
# ------------------------------------------
2014-05-08 00:27:00 +02:00
.PHONY : really clean install
2023-05-10 17:20:06 +02:00
OBJS= \
libmosquitto.o \
2023-05-10 17:20:06 +02:00
actions_publish.o \
actions_subscribe.o \
actions_unsubscribe.o \
alias_mosq.o \
callbacks.o \
connect.o \
2024-10-28 23:28:23 +01:00
extended_auth.o \
2023-05-10 17:20:06 +02:00
handle_auth.o \
handle_connack.o \
handle_disconnect.o \
handle_ping.o \
handle_pubackcomp.o \
handle_publish.o \
handle_pubrec.o \
handle_pubrel.o \
handle_suback.o \
handle_unsuback.o \
helpers.o \
http_client.o \
logging_mosq.o \
loop.o \
messages_mosq.o \
net_mosq_ocsp.o \
net_mosq.o \
net_ws.o \
options.o \
packet_datatypes.o \
packet_mosq.o \
property_mosq.o \
read_handle.o \
send_connect.o \
send_disconnect.o \
send_mosq.o \
send_publish.o \
send_subscribe.o \
send_unsubscribe.o \
socks_mosq.o \
srv_mosq.o \
thread_mosq.o \
tls_mosq.o \
util_mosq.o \
will_mosq.o
2024-06-03 00:20:03 +02:00
OBJS_EXTERNAL=
ifeq ($(WITH_WEBSOCKETS),yes)
2023-05-10 17:20:06 +02:00
OBJS_EXTERNAL+=${R}/deps/picohttpparser/picohttpparser.o
endif
2018-10-07 01:56:42 +02:00
ALL_DEPS:=
ifeq ($(WITH_SHARED_LIBRARIES),yes)
ALL_DEPS+=libmosquitto.so.${SOVERSION}
endif
ifeq ($(WITH_STATIC_LIBRARIES),yes)
ALL_DEPS+=libmosquitto.a
endif
all : ${ALL_DEPS}
2018-10-07 01:56:42 +02:00
ifeq ($(WITH_SHARED_LIBRARIES),yes)
2014-05-08 00:27:00 +02:00
$(MAKE) -C cpp
2018-10-07 01:56:42 +02:00
endif
2014-05-08 00:27:00 +02:00
install : all
$(INSTALL) -d "${DESTDIR}${libdir}/"
2018-10-07 01:56:42 +02:00
ifeq ($(WITH_SHARED_LIBRARIES),yes)
$(INSTALL) ${STRIP_OPTS} libmosquitto.so.${SOVERSION} "${DESTDIR}${libdir}/libmosquitto.so.${SOVERSION}"
ln -sf libmosquitto.so.${SOVERSION} "${DESTDIR}${libdir}/libmosquitto.so"
2018-10-07 01:56:42 +02:00
endif
ifeq ($(WITH_STATIC_LIBRARIES),yes)
$(INSTALL) ${STRIP_OPTS} libmosquitto.a "${DESTDIR}${libdir}/libmosquitto.a"
endif
$(INSTALL) -d "${DESTDIR}${libdir}/pkgconfig"
2022-02-09 15:44:09 +01:00
$(INSTALL) -m644 ${R}/libmosquitto.pc.in "${DESTDIR}${libdir}/pkgconfig/libmosquitto.pc"
sed ${SEDINPLACE} -e "s#@CMAKE_INSTALL_PREFIX@#${prefix}#" -e "s#@CMAKE_INSTALL_LIBDIR@#lib${LIB_SUFFIX}#" -e "s#@VERSION@#${VERSION}#" "${DESTDIR}${libdir}/pkgconfig/libmosquitto.pc"
2018-10-07 01:56:42 +02:00
ifeq ($(WITH_SHARED_LIBRARIES),yes)
2014-05-08 00:27:00 +02:00
$(MAKE) -C cpp install
2018-10-07 01:56:42 +02:00
endif
2014-05-08 00:27:00 +02:00
uninstall :
-rm -f "${DESTDIR}${libdir}/libmosquitto.so.${SOVERSION}"
-rm -f "${DESTDIR}${libdir}/libmosquitto.so"
-rm -f "${DESTDIR}${libdir}/libmosquitto.a"
-rm -f "${DESTDIR}${incdir}/mosquitto.h"
2014-05-08 00:27:00 +02:00
reallyclean : clean
clean :
-rm -f ${OBJS} ${OBJS_EXTERNAL} libmosquitto.so.${SOVERSION} libmosquitto.so libmosquitto.a *.gcno *.gcda
2014-05-08 00:27:00 +02:00
$(MAKE) -C cpp clean
2023-05-10 17:20:06 +02:00
libmosquitto.so.${SOVERSION} : ${OBJS} ${OBJS_EXTERNAL}
${CROSS_COMPILE}$(CC) $(LOCAL_LDFLAGS) $^ -o $@ ${LOCAL_LIBADD}
2014-05-08 00:27:00 +02:00
2023-05-10 17:20:06 +02:00
libmosquitto.a : ${OBJS} ${OBJS_EXTERNAL}
2014-05-26 00:36:38 +02:00
${CROSS_COMPILE}$(AR) cr $@ $^
2023-05-10 17:20:06 +02:00
${OBJS} : %.o: %.c ${R}/include/mosquitto.h mosquitto_internal.h
${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@
2024-02-20 18:19:23 +01:00
${R}/deps/picohttpparser/picohttpparser.o : ${R}/deps/picohttpparser/picohttpparser.c
${CROSS_COMPILE}$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@