diff --git a/Makefile b/Makefile index f25cfa40..501bbd56 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,7 @@ DISTFILES= \ installer/ \ lib/ \ logo/ \ + make/ \ man/ \ misc/ \ plugins/ \ diff --git a/apps/db_dump/Makefile b/apps/db_dump/Makefile index 5804674b..f59462a0 100644 --- a/apps/db_dump/Makefile +++ b/apps/db_dump/Makefile @@ -1,10 +1,10 @@ R=../.. include ${R}/config.mk -CFLAGS+= -CPPFLAGS+=-I${R}/lib -I${R}/src -I${R}/common -DWITH_BROKER -LDFLAGS+= -LDADD+=-lcjson -lm +LOCAL_CFLAGS+= +LOCAL_CPPFLAGS+=-I${R}/lib -I${R}/src -I${R}/common -DWITH_BROKER +LOCAL_LDFLAGS+= +LOCAL_LDADD+=-lcjson -lm # ------------------------------------------ # Compile time options @@ -40,13 +40,13 @@ all : mosquitto_db_dump endif mosquitto_db_dump : ${OBJS} ${BROKER_OBJS} - ${CROSS_COMPILE}${CC} $^ -o $@ ${LDFLAGS} ${LIBS} + ${CROSS_COMPILE}${CC} $^ -o $@ ${LOCAL_LDFLAGS} ${LOCAL_LDADD} mosquitto_db_dump.a : ${OBJS} ${BROKER_OBJS} ${CROSS_COMPILE}$(AR) cr $@ $^ ${OBJS} : %.o:%.c db_dump.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ ${BROKER_OBJS} : $(MAKE) -C ${R}/src $(notdir $@) diff --git a/apps/mosquitto_ctrl/Makefile b/apps/mosquitto_ctrl/Makefile index ec34726f..de45964d 100644 --- a/apps/mosquitto_ctrl/Makefile +++ b/apps/mosquitto_ctrl/Makefile @@ -3,14 +3,14 @@ include ${R}/config.mk .PHONY: all install uninstall clean reallyclean -CFLAGS+= -CPPFLAGS+=-I${R}/lib -I${R}/apps/mosquitto_passwd -I${R}/plugins/dynamic-security -I${R}/plugins/common -I${R}/common -LDFLAGS+= -LDADD+=-lcjson -ldl ${LIBMOSQ} +LOCAL_CFLAGS+= +LOCAL_CPPFLAGS+=-I${R}/lib -I${R}/apps/mosquitto_passwd -I${R}/plugins/dynamic-security -I${R}/common +LOCAL_LDFLAGS+= +LOCAL_LDADD+=-lcjson -ldl ${LIBMOSQ} ifeq ($(WITH_THREADING),yes) -LDFLAGS+=-pthread -LDADD+=-lssl -lcrypto +LOCAL_LDFLAGS+=-pthread +LOCAL_LDADD+=-lssl -lcrypto endif OBJS= \ @@ -43,37 +43,37 @@ endif all : ${TARGET} mosquitto_ctrl : ${OBJS} ${OBJS_EXTERNAL} ${LIBMOSQ} - ${CROSS_COMPILE}${CC} $^ -o $@ $(LDFLAGS) $(LDADD) + ${CROSS_COMPILE}${CC} $^ -o $@ $(LOCAL_LDFLAGS) $(LOCAL_LDADD) mosquitto_ctrl_example.so : ${EXAMPLE_OBJS} - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) ${LDFLAGS} -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) ${LOCAL_LDFLAGS} -fPIC -shared $< -o $@ ${OBJS} : %.o: %.c mosquitto_ctrl.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ base64_mosq.o : ${R}/common/base64_mosq.c ${R}/common/base64_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ dynsec_hash.o : ${R}/plugins/dynamic-security/hash.c ${R}/plugins/dynamic-security/dynamic_security.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ example.o : example.c mosquitto_ctrl.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -fPIC -c $< -o $@ get_password.o : ${R}/apps/mosquitto_passwd/get_password.c ${R}/apps/mosquitto_passwd/get_password.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ json_help.o : ${R}/common/json_help.c ${R}/common/json_help.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ memory_mosq.o : ${R}/lib/memory_mosq.c - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ memory_public.o : ${R}/src/memory_public.c - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ password_mosq.o : ${R}/common/password_mosq.c ${R}/common/password_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ ${R}/lib/libmosquitto.so.${SOVERSION} : $(MAKE) -C ${R}/lib diff --git a/apps/mosquitto_passwd/Makefile b/apps/mosquitto_passwd/Makefile index b850ca8c..585826f5 100644 --- a/apps/mosquitto_passwd/Makefile +++ b/apps/mosquitto_passwd/Makefile @@ -1,10 +1,10 @@ R=../.. include ${R}/config.mk -CFLAGS+= -CPPFLAGS+=-I${R}/lib -LDFLAGS+= -LDADD+=-lcrypto +LOCAL_CFLAGS+= +LOCAL_CPPFLAGS+=-I${R}/lib +LOCAL_LDFLAGS+= +LOCAL_LDADD+=-lcrypto .PHONY: all install uninstall clean reallyclean @@ -31,28 +31,28 @@ all: endif mosquitto_passwd : ${OBJS} ${OBJS_EXTERNAL} - ${CROSS_COMPILE}${CC} ${LDFLAGS} $^ -o $@ $(LDADD) + ${CROSS_COMPILE}${CC} ${LOCAL_LDFLAGS} $^ -o $@ $(LOCAL_LDADD) mosquitto_passwd.a : ${OBJS} ${OBJS_EXTERNAL} ${CROSS_COMPILE}$(AR) cr $@ $^ ${OBJS} : %.o: %.c - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ base64_mosq.o : ${R}/common/base64_mosq.c ${R}/common/base64_mosq.h - ${CROSS_COMPILE}${CC} ${CPPFLAGS} $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} ${LOCAL_CPPFLAGS} $(LOCAL_CFLAGS) -c $< -o $@ memory_mosq.o : ${R}/lib/memory_mosq.c - ${CROSS_COMPILE}${CC} ${CPPFLAGS} $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} ${LOCAL_CPPFLAGS} $(LOCAL_CFLAGS) -c $< -o $@ memory_public.o : ${R}/src/memory_public.c - ${CROSS_COMPILE}${CC} ${CPPFLAGS} $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} ${LOCAL_CPPFLAGS} $(LOCAL_CFLAGS) -c $< -o $@ misc_mosq.o : ${R}/common/misc_mosq.c ${R}/common/misc_mosq.h - ${CROSS_COMPILE}${CC} ${CPPFLAGS} $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} ${LOCAL_CPPFLAGS} $(LOCAL_CFLAGS) -c $< -o $@ password_mosq.o : ${R}/common/password_mosq.c ${R}/common/password_mosq.h - ${CROSS_COMPILE}${CC} ${CPPFLAGS} $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} ${LOCAL_CPPFLAGS} $(LOCAL_CFLAGS) -c $< -o $@ install : all ifeq ($(WITH_TLS),yes) diff --git a/client/Makefile b/client/Makefile index 1a1c78b5..5c0c8402 100644 --- a/client/Makefile +++ b/client/Makefile @@ -7,25 +7,25 @@ ifeq ($(WITH_SHARED_LIBRARIES),yes) SHARED_DEP:=${R}/lib/libmosquitto.so.${SOVERSION} endif -CFLAGS+= -CPPFLAGS+= -LDFLAGS+= -LDADD+=-lcjson ${SHARED_DEP} +LOCAL_CFLAGS+= +LOCAL_CPPFLAGS+= +LOCAL_LDFLAGS+= +LOCAL_LDADD+=-lcjson ${SHARED_DEP} STATIC_LDADD+=-lcjson ifeq ($(WITH_SOCKS),yes) - CPPFLAGS+=-DWITH_SOCKS + LOCAL_CPPFLAGS+=-DWITH_SOCKS endif ifeq ($(WITH_THREADING),yes) - CFLAGS+=-pthread - CPPFLAGS+=-DWITH_THREADING - LDFLAGS+=-pthread - STATIC_LDLADD+=-pthread + LOCAL_CFLAGS+=-pthread + LOCAL_CPPFLAGS+=-DWITH_THREADING + LOCAL_LDFLAGS+=-pthread + STATIC_LDADD+=-pthread endif ifeq ($(WITH_TLS),yes) - LDADD+=-lssl -lcrypto + LOCAL_LDADD+=-lssl -lcrypto STATIC_LDADD+= -lssl -lcrypto endif @@ -44,51 +44,51 @@ static : static_pub static_sub static_rr # libmosquitto only. static_pub : pub_client.o pub_shared.o client_props.o client_shared.o ${R}/lib/libmosquitto.a - ${CROSS_COMPILE}${CC} $^ -o mosquitto_pub ${LDFLAGS} ${STATIC_LIB_DEPS} ${STATIC_LDADD} + ${CROSS_COMPILE}${CC} $^ -o mosquitto_pub ${LOCAL_LDFLAGS} ${STATIC_LIB_DEPS} ${STATIC_LDADD} static_sub : sub_client.o sub_client_output.o client_props.o client_shared.o ${R}/lib/libmosquitto.a - ${CROSS_COMPILE}${CC} $^ -o mosquitto_sub ${LDFLAGS} ${STATIC_LIB_DEPS} ${STATIC_LDADD} + ${CROSS_COMPILE}${CC} $^ -o mosquitto_sub ${LOCAL_LDFLAGS} ${STATIC_LIB_DEPS} ${STATIC_LDADD} static_rr : rr_client.o client_props.o client_shared.o pub_shared.o sub_client_output.o ${R}/lib/libmosquitto.a - ${CROSS_COMPILE}${CC} $^ -o mosquitto_rr ${LDFLAGS} ${STATIC_LIB_DEPS} ${STATIC_LDADD} + ${CROSS_COMPILE}${CC} $^ -o mosquitto_rr ${LOCAL_LDFLAGS} ${STATIC_LIB_DEPS} ${STATIC_LDADD} mosquitto_pub : pub_client.o pub_shared.o client_shared.o client_props.o - ${CROSS_COMPILE}${CC} $(LDFLAGS) $^ -o $@ $(LDADD) + ${CROSS_COMPILE}${CC} $(LOCAL_LDFLAGS) $^ -o $@ $(LOCAL_LDADD) mosquitto_sub : sub_client.o sub_client_output.o client_shared.o client_props.o - ${CROSS_COMPILE}${CC} $(LDFLAGS) $^ -o $@ $(LDADD) + ${CROSS_COMPILE}${CC} $(LOCAL_LDFLAGS) $^ -o $@ $(LOCAL_LDADD) mosquitto_rr : rr_client.o client_shared.o client_props.o pub_shared.o sub_client_output.o - ${CROSS_COMPILE}${CC} $(LDFLAGS) $^ -o $@ $(LDADD) + ${CROSS_COMPILE}${CC} $(LOCAL_LDFLAGS) $^ -o $@ $(LOCAL_LDADD) pub_client.o : pub_client.c ${SHARED_DEP} - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ pub_shared.o : pub_shared.c ${SHARED_DEP} - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ sub_client.o : sub_client.c ${SHARED_DEP} - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ sub_client_output.o : sub_client_output.c sub_client_output.h ${SHARED_DEP} - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ rr_client.o : rr_client.c ${SHARED_DEP} - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ client_shared.o : client_shared.c client_shared.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ client_props.o : client_props.c client_shared.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ # The "testing" target is intended to make it easy to compile a quick client # for testing purposes. testing.c should not be committed as a file. testing : testing.o - ${CROSS_COMPILE}${CC} $() $^ -o $@ $(LDADD) $(LDFLAGS) + ${CROSS_COMPILE}${CC} $() $^ -o $@ $(LOCAL_LDADD) $(LOCAL_LDFLAGS) testing.o : testing.c - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ ${R}/lib/libmosquitto.so.${SOVERSION} : diff --git a/config.mk b/config.mk index eb406621..4c0735a7 100644 --- a/config.mk +++ b/config.mk @@ -155,7 +155,6 @@ DB_HTML_XSL=man/html.xsl #MANCOUNTRIES=en_GB MAKE_ALL:=mosquitto -CPPFLAGS+=-DVERSION=\""${VERSION}\"" -I${R} -I. -I${R}/include -I${R}/common UNAME:=$(shell uname -s) ARCH:=$(shell uname -p) @@ -179,6 +178,14 @@ else CXXFLAGS?=-Wall -ggdb -O3 -Wconversion -Wextra endif +LOCAL_CPPFLAGS=$(CPPFLAGS) +LOCAL_CFLAGS=$(CFLAGS) +LOCAL_CXXFLAGS=$(CXXFLAGS) +LOCAL_LDFLAGS=$(LDFLAGS) +LOCAL_LIBADD=$(LIBADD) + +LOCAL_CPPFLAGS+=-DVERSION=\""${VERSION}\"" -I${R} -I. -I${R}/include -I${R}/common + ifneq ($(or $(findstring $(UNAME),FreeBSD), $(findstring $(UNAME),OpenBSD), $(findstring $(UNAME),NetBSD)),) SEDINPLACE:=-i "" else @@ -190,12 +197,12 @@ endif endif ifeq ($(UNAME),QNX) - LDADD+=-lsocket + LOCAL_LDADD+=-lsocket endif ifeq ($(UNAME),SunOS) - LDADD+=-lsocket -lnsl - LIBADD+=-lsocket -lnsl + LOCAL_LDADD+=-lsocket -lnsl + LOCAL_LIBADD+=-lsocket -lnsl endif ifeq ($(WITH_FUZZING),yes) @@ -210,15 +217,15 @@ else endif ifeq ($(WITH_TLS),yes) - CPPFLAGS+=-DWITH_TLS + LOCAL_CPPFLAGS+=-DWITH_TLS ifeq ($(WITH_TLS_PSK),yes) - CPPFLAGS+=-DWITH_TLS_PSK + LOCAL_CPPFLAGS+=-DWITH_TLS_PSK endif endif ifeq ($(WITH_LTO),yes) - CFLAGS+=-flto - LDFLAGS+=-flto + LOCAL_CFLAGS+=-flto + LOCAL_LDFLAGS+=-flto endif ifeq ($(WITH_DOCS),yes) @@ -226,20 +233,20 @@ ifeq ($(WITH_DOCS),yes) endif ifeq ($(WITH_JEMALLOC),yes) - LDADD+=-ljemalloc + LOCAL_LDADD+=-ljemalloc endif ifeq ($(WITH_UNIX_SOCKETS),yes) - CPPFLAGS+=-DWITH_UNIX_SOCKETS + LOCAL_CPPFLAGS+=-DWITH_UNIX_SOCKETS endif ifeq ($(WITH_WEBSOCKETS),yes) - CPPFLAGS+=-DWITH_WEBSOCKETS=WS_IS_BUILTIN -I${R}/deps/picohttpparser + LOCAL_CPPFLAGS+=-DWITH_WEBSOCKETS=WS_IS_BUILTIN -I${R}/deps/picohttpparser endif ifeq ($(WITH_WEBSOCKETS),lws) - CPPFLAGS+=-DWITH_WEBSOCKETS=WS_IS_LWS - LDADD+=-lwebsockets + LOCAL_CPPFLAGS+=-DWITH_WEBSOCKETS=WS_IS_LWS + LOCAL_LDADD+=-lwebsockets endif ifeq ($(WITH_STRIP),yes) @@ -247,17 +254,17 @@ ifeq ($(WITH_STRIP),yes) endif ifeq ($(WITH_BUNDLED_DEPS),yes) - CPPFLAGS+=-I${R}/deps + LOCAL_CPPFLAGS+=-I${R}/deps endif ifeq ($(WITH_COVERAGE),yes) - CFLAGS+=-coverage - LDFLAGS+=-coverage + LOCAL_CFLAGS+=-coverage + LOCAL_LDFLAGS+=-coverage endif ifeq ($(WITH_FUZZING),yes) MAKE_ALL+=fuzzing - CPPFLAGS+=-DWITH_FUZZING - CFLAGS+=-fPIC - LDFLAGS+=-shared $(CFLAGS) + LOCAL_CPPFLAGS+=-DWITH_FUZZING + LOCAL_CFLAGS+=-fPIC + LOCAL_LDFLAGS+=-shared $(LOCAL_CFLAGS) endif diff --git a/examples/mysql_log/Makefile b/examples/mysql_log/Makefile index 74deed29..9ed22624 100644 --- a/examples/mysql_log/Makefile +++ b/examples/mysql_log/Makefile @@ -1,16 +1,16 @@ R=../.. -CFLAGS=-Wall -ggdb -LDFLAGS=${R}/lib/libmosquitto.so.1 -lmysqlclient +LOCAL_CFLAGS=-Wall -ggdb +LOCAL_LDFLAGS=${LIBMOSQ} -lmysqlclient .PHONY: all clean all : mosquitto_mysql_log mosquitto_mysql_log : mysql_log.o - ${CC} $^ -o $@ ${LDFLAGS} + ${CC} $^ -o $@ ${LOCAL_LDFLAGS} mysql_log.o : mysql_log.c - ${CC} -c $^ -o $@ ${CFLAGS} -I${R}/lib + ${CC} -c $^ -o $@ ${LOCAL_CFLAGS} -I${R}/lib clean : -rm -f *.o mosquitto_mysql_log diff --git a/examples/publish/Makefile b/examples/publish/Makefile index 6ee9238f..784fe950 100644 --- a/examples/publish/Makefile +++ b/examples/publish/Makefile @@ -6,18 +6,18 @@ include ${R}/config.mk all : basic-1 basic-websockets-1 basic-1 : basic-1.o - ${CROSS_COMPILE}${CC} $^ -o $@ ${R}/lib/libmosquitto.so.${SOVERSION} + ${CROSS_COMPILE}${CC} $^ -o $@ ${LIBMOSQ} basic-websockets-1 : basic-websockets-1.o - ${CROSS_COMPILE}${CC} $^ -o $@ ${R}/lib/libmosquitto.so.${SOVERSION} + ${CROSS_COMPILE}${CC} $^ -o $@ ${LIBMOSQ} -basic-1.o : basic-1.c ${R}/lib/libmosquitto.so.${SOVERSION} - ${CROSS_COMPILE}${CC} -c $< -o $@ -I${R}/include ${CPPFLAGS} ${CFLAGS} +basic-1.o : basic-1.c ${LIBMOSQ} + ${CROSS_COMPILE}${CC} -c $< -o $@ -I${R}/include ${LOCAL_CPPFLAGS} ${LOCAL_CFLAGS} -basic-websockets-1.o : basic-websockets-1.c ${R}/lib/libmosquitto.so.${SOVERSION} - ${CROSS_COMPILE}${CC} -c $< -o $@ -I${R}/include ${CPPFLAGS} ${CFLAGS} +basic-websockets-1.o : basic-websockets-1.c ${LIBMOSQ} + ${CROSS_COMPILE}${CC} -c $< -o $@ -I${R}/include ${LOCAL_CPPFLAGS} ${LOCAL_CFLAGS} -${R}/lib/libmosquitto.so.${SOVERSION} : +${LIBMOSQ} : $(MAKE) -C ${R}/lib clean : diff --git a/examples/subscribe_simple/Makefile b/examples/subscribe_simple/Makefile index 2dfd6467..4f3e7a00 100644 --- a/examples/subscribe_simple/Makefile +++ b/examples/subscribe_simple/Makefile @@ -6,24 +6,24 @@ include ${R}/config.mk all : sub_callback sub_single sub_multiple sub_callback : callback.o - ${CROSS_COMPILE}${CC} $^ -o $@ ${R}/lib/libmosquitto.so.${SOVERSION} + ${CROSS_COMPILE}${CC} $^ -o $@ ${LIBMOSQ} sub_single : single.o - ${CROSS_COMPILE}${CC} $^ -o $@ ${R}/lib/libmosquitto.so.${SOVERSION} + ${CROSS_COMPILE}${CC} $^ -o $@ ${LIBMOSQ} sub_multiple : multiple.o - ${CROSS_COMPILE}${CC} $^ -o $@ ${R}/lib/libmosquitto.so.${SOVERSION} + ${CROSS_COMPILE}${CC} $^ -o $@ ${LIBMOSQ} -callback.o : callback.c ${R}/lib/libmosquitto.so.${SOVERSION} - ${CROSS_COMPILE}${CC} -c $< -o $@ -I${R}/lib ${CFLAGS} +callback.o : callback.c ${LIBMOSQ} + ${CROSS_COMPILE}${CC} -c $< -o $@ -I${R}/lib ${LOCAL_CFLAGS} -single.o : single.c ${R}/lib/libmosquitto.so.${SOVERSION} - ${CROSS_COMPILE}${CC} -c $< -o $@ -I${R}/lib ${CFLAGS} +single.o : single.c ${LIBMOSQ} + ${CROSS_COMPILE}${CC} -c $< -o $@ -I${R}/lib ${LOCAL_CFLAGS} -multiple.o : multiple.c ${R}/lib/libmosquitto.so.${SOVERSION} - ${CROSS_COMPILE}${CC} -c $< -o $@ -I${R}/lib ${CFLAGS} +multiple.o : multiple.c ${LIBMOSQ} + ${CROSS_COMPILE}${CC} -c $< -o $@ -I${R}/lib ${LOCAL_CFLAGS} -${R}/lib/libmosquitto.so.${SOVERSION} : +${LIBMOSQ}: $(MAKE) -C ${R}/lib clean : diff --git a/examples/temperature_conversion/Makefile b/examples/temperature_conversion/Makefile index fcb5c8e0..2db13e23 100644 --- a/examples/temperature_conversion/Makefile +++ b/examples/temperature_conversion/Makefile @@ -1,19 +1,19 @@ R=../.. -CFLAGS=-Wall -ggdb -I${R}/lib -I${R}/lib/cpp -LDFLAGS=-L${R}/lib ${R}/lib/cpp/libmosquittopp.so.1 ${R}/lib/libmosquitto.so.1 +LOCAL_CFLAGS=-Wall -ggdb -I${R}/lib -I${R}/lib/cpp +LOCAL_LDFLAGS=-L${R}/lib ${R}/lib/cpp/libmosquittopp.so.1 ${LIBMOSQ} .PHONY: all clean all : mqtt_temperature_conversion mqtt_temperature_conversion : main.o temperature_conversion.o - ${CXX} $^ -o $@ ${LDFLAGS} + ${CXX} $^ -o $@ ${LOCAL_LDFLAGS} main.o : main.cpp - ${CXX} -c $^ -o $@ ${CFLAGS} + ${CXX} -c $^ -o $@ ${LOCAL_CFLAGS} temperature_conversion.o : temperature_conversion.cpp - ${CXX} -c $^ -o $@ ${CFLAGS} + ${CXX} -c $^ -o $@ ${LOCAL_CFLAGS} clean : -rm -f *.o mqtt_temperature_conversion diff --git a/fuzzing/apps/db_dump/Makefile b/fuzzing/apps/db_dump/Makefile index 19a0d274..23937265 100644 --- a/fuzzing/apps/db_dump/Makefile +++ b/fuzzing/apps/db_dump/Makefile @@ -6,25 +6,25 @@ FUZZERS:= \ db_dump_fuzz_load_client_stats \ db_dump_fuzz_load_stats -CPPFLAGS+= -CXXFLAGS+=-g -Wall -Werror -pthread -LDFLAGS+= -LIBADD+=$(LIB_FUZZING_ENGINE) ${R}/apps/db_dump/mosquitto_db_dump.a +LOCAL_CPPFLAGS+= +LOCAL_CXXFLAGS+=-g -Wall -Werror -pthread +LOCAL_LDFLAGS+= +LOCAL_LIBADD+=$(LIB_FUZZING_ENGINE) ${R}/apps/db_dump/mosquitto_db_dump.a all: $(FUZZERS) db_dump_fuzz_load : db_dump_fuzz_load.cpp - $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $^ $(LIBADD) + $(CXX) $(LOCAL_CXXFLAGS) $(LOCAL_CPPFLAGS) $(LOCAL_LDFLAGS) -o $@ $^ $(LOCAL_LIBADD) install $@ ${OUT}/$@ cp ${R}/fuzzing/corpora/db_dump_seed_corpus.zip ${OUT}/$@_seed_corpus.zip db_dump_fuzz_load_client_stats : db_dump_fuzz_load_client_stats.cpp - $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $^ $(LIBADD) + $(CXX) $(LOCAL_CXXFLAGS) $(LOCAL_CPPFLAGS) $(LOCAL_LDFLAGS) -o $@ $^ $(LOCAL_LIBADD) install $@ ${OUT}/$@ cp ${R}/fuzzing/corpora/db_dump_seed_corpus.zip ${OUT}/$@_seed_corpus.zip db_dump_fuzz_load_stats : db_dump_fuzz_load_stats.cpp - $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $^ $(LIBADD) + $(CXX) $(LOCAL_CXXFLAGS) $(LOCAL_CPPFLAGS) $(LOCAL_LDFLAGS) -o $@ $^ $(LOCAL_LIBADD) install $@ ${OUT}/$@ cp ${R}/fuzzing/corpora/db_dump_seed_corpus.zip ${OUT}/$@_seed_corpus.zip diff --git a/fuzzing/apps/mosquitto_passwd/Makefile b/fuzzing/apps/mosquitto_passwd/Makefile index 17e54534..5769d2aa 100644 --- a/fuzzing/apps/mosquitto_passwd/Makefile +++ b/fuzzing/apps/mosquitto_passwd/Makefile @@ -4,15 +4,15 @@ R=../../.. FUZZERS:= \ mosquitto_passwd_fuzz_load -CPPFLAGS+= -CXXFLAGS+=-g -Wall -Werror -pthread -LDFLAGS+= -LIBADD+=$(LIB_FUZZING_ENGINE) ${R}/apps/mosquitto_passwd/mosquitto_passwd.a -lssl -lcrypto +LOCAL_CPPFLAGS+= +LOCAL_CXXFLAGS+=-g -Wall -Werror -pthread +LOCAL_LDFLAGS+= +LOCAL_LIBADD+=$(LIB_FUZZING_ENGINE) ${R}/apps/mosquitto_passwd/mosquitto_passwd.a -lssl -lcrypto all: $(FUZZERS) mosquitto_passwd_fuzz_load : mosquitto_passwd_fuzz_load.cpp - $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $^ $(LIBADD) + $(CXX) $(LOCAL_CXXFLAGS) $(LOCAL_CPPFLAGS) $(LOCAL_LDFLAGS) -o $@ $^ $(LOCAL_LIBADD) install $@ ${OUT}/$@ cp ${R}/fuzzing/corpora/db_dump_seed_corpus.zip ${OUT}/$@_seed_corpus.zip diff --git a/fuzzing/broker/Makefile b/fuzzing/broker/Makefile index dc8763fe..c0415ba2 100644 --- a/fuzzing/broker/Makefile +++ b/fuzzing/broker/Makefile @@ -5,23 +5,23 @@ FUZZERS:= \ broker_fuzz_read_handle \ broker_fuzz_test_config -CPPFLAGS+=-I${R}/include/ -I${R}/src -I${R}/lib -I${R} -I${R}/common -I${R}/deps \ +LOCAL_CPPFLAGS+=-I${R}/include/ -I${R}/src -I${R}/lib -I${R} -I${R}/common -I${R}/deps \ -DWITH_BRIDGE -DWITH_BROKER -DWITH_CONTROL -DWITH_EC -DWITH_EPOLL \ -DWITH_MEMORY_TRACKING -DWITH_PERSISTENCE -DWITH_SOCKS -DWITH_SYSTEMD \ -DWITH_SYS_TREE -DWITH_TLS -DWITH_TLS_PSK -DWITH_UNIX_SOCKETS -DWITH_WEBSOCKETS=WS_IS_BUILTIN -CXXFLAGS+=-g -Wall -Werror -pthread -LDFLAGS+= -LIBADD+=$(LIB_FUZZING_ENGINE) ${R}/src/mosquitto_broker.a -lssl -lcrypto -lcjson +LOCAL_CXXFLAGS+=-g -Wall -Werror -pthread +LOCAL_LDFLAGS+= +LOCAL_LIBADD+=$(LIB_FUZZING_ENGINE) ${R}/src/mosquitto_broker.a -lssl -lcrypto -lcjson all: $(FUZZERS) broker_fuzz_read_handle : broker_fuzz_read_handle.cpp ${R}/src/mosquitto_broker.a - $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $< $(LIBADD) + $(CXX) $(LOCAL_CXXFLAGS) $(LOCAL_CPPFLAGS) $(LOCAL_LDFLAGS) -o $@ $< $(LOCAL_LIBADD) install $@ ${OUT}/$@ cp ${R}/fuzzing/corpora/broker_packet_seed_corpus.zip ${OUT}/$@_seed_corpus.zip broker_fuzz_test_config : broker_fuzz_test_config.cpp ${R}/src/mosquitto_broker.a - $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $< $(LIBADD) + $(CXX) $(LOCAL_CXXFLAGS) $(LOCAL_CPPFLAGS) $(LOCAL_LDFLAGS) -o $@ $< $(LOCAL_LIBADD) install $@ ${OUT}/$@ cp ${R}/fuzzing/corpora/broker_fuzz_test_config_seed_corpus.zip ${OUT}/$@_seed_corpus.zip cp ${R}/fuzzing/corpora/broker_conf.dict ${OUT}/$@.dict diff --git a/fuzzing/lib/Makefile b/fuzzing/lib/Makefile index b7d9ceca..8d22da3a 100644 --- a/fuzzing/lib/Makefile +++ b/fuzzing/lib/Makefile @@ -6,23 +6,23 @@ FUZZERS:= \ lib_fuzz_sub_topic_check2 \ lib_fuzz_utf8 -CPPFLAGS+=-I${R}/include/ -CXXFLAGS+=-g -Wall -Werror -pthread -LDFLAGS+= -LIBADD+=$(LIB_FUZZING_ENGINE) ${R}/lib/libmosquitto.a -lssl -lcrypto +LOCAL_CPPFLAGS+=-I${R}/include/ +LOCAL_CXXFLAGS+=-g -Wall -Werror -pthread +LOCAL_LDFLAGS+= +LOCAL_LIBADD+=$(LIB_FUZZING_ENGINE) ${LIBMOSQ_STATIC} -lssl -lcrypto all: $(FUZZERS) lib_fuzz_pub_topic_check2 : lib_fuzz_pub_topic_check2.cpp - $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $^ $(LIBADD) + $(CXX) $(LOCAL_CXXFLAGS) $(LOCAL_CPPFLAGS) $(LOCAL_LDFLAGS) -o $@ $^ $(LOCAL_LIBADD) install $@ ${OUT}/$@ lib_fuzz_sub_topic_check2 : lib_fuzz_sub_topic_check2.cpp - $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $^ $(LIBADD) + $(CXX) $(LOCAL_CXXFLAGS) $(LOCAL_CPPFLAGS) $(LOCAL_LDFLAGS) -o $@ $^ $(LOCAL_LIBADD) install $@ ${OUT}/$@ lib_fuzz_utf8 : lib_fuzz_utf8.cpp - $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $^ $(LIBADD) + $(CXX) $(LOCAL_CXXFLAGS) $(LOCAL_CPPFLAGS) $(LOCAL_LDFLAGS) -o $@ $^ $(LOCAL_LIBADD) install $@ ${OUT}/$@ clean: diff --git a/fuzzing/plugins/dynamic-security/Makefile b/fuzzing/plugins/dynamic-security/Makefile index 849213cf..2ffdbef0 100644 --- a/fuzzing/plugins/dynamic-security/Makefile +++ b/fuzzing/plugins/dynamic-security/Makefile @@ -4,19 +4,19 @@ R=../../.. FUZZERS:= \ dynsec_fuzz_load -CPPFLAGS+= \ - -I${R} -I${R}/common -I${R}/include -I${R}/lib -I${R}/src -I${R}/deps \ +LOCAL_CPPFLAGS+= \ + -I${R} -I${R}/common -I${R}/include -I${R}/lib -I${R}/src -I${R}/deps -I${R}/plugins/dynamic-security \ -DWITH_BRIDGE -DWITH_BROKER -DWITH_CONTROL -DWITH_EC -DWITH_EPOLL \ -DWITH_MEMORY_TRACKING -DWITH_PERSISTENCE -DWITH_SOCKS -DWITH_SYSTEMD \ -DWITH_SYS_TREE -DWITH_TLS -DWITH_TLS_PSK -DWITH_UNIX_SOCKETS -DWITH_WEBSOCKETS=WS_IS_BUILTIN -CXXFLAGS+=-g -Wall -Werror -pthread -LDFLAGS+= -LIBADD+=$(LIB_FUZZING_ENGINE) ${R}/plugins/dynamic-security/mosquitto_dynamic_security.a ${R}/src/mosquitto_broker.a -lssl -lcrypto -lcjson +LOCAL_CXXFLAGS+=-g -Wall -Werror -pthread +LOCAL_LDFLAGS+= +LOCAL_LIBADD+=$(LIB_FUZZING_ENGINE) ${R}/plugins/dynamic-security/mosquitto_dynamic_security.a ${R}/src/mosquitto_broker.a ${R}/deps/mosquitto-license/mosquitto_license.a -lssl -lcrypto -lcjson all: $(FUZZERS) dynsec_fuzz_load : dynsec_fuzz_load.cpp - $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $^ $(LIBADD) + $(CXX) $(LOCAL_CXXFLAGS) $(LOCAL_CPPFLAGS) $(LOCAL_LDFLAGS) -o $@ $^ $(LOCAL_LIBADD) install $@ ${OUT}/$@ cp ${R}/fuzzing/corpora/dynsec_config_seed_corpus.zip ${OUT}/$@_seed_corpus.zip diff --git a/lib/Makefile b/lib/Makefile index 89d4baf0..dfbcc9f4 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -1,64 +1,35 @@ R=.. include ${R}/config.mk -CFLAGS+= -CPPFLAGS+= -LDFLAGS+= -LIBADD+=-lcjson +LOCAL_CFLAGS+=-fPIC +LOCAL_CPPFLAGS+= +LOCAL_LDFLAGS+=-Wl,--version-script=linker.version -Wl,-soname,libmosquitto.so.$(SOVERSION) -fPIC -shared +LOCAL_LIBADD+=-lcjson -lc STATIC_LIB_DEPS:= -# ------------------------------------------ -# Platform specific -# ------------------------------------------ -ifneq ($(UNAME),SunOS) - LDFLAGS+=-Wl,--version-script=linker.version -Wl,-soname,libmosquitto.so.$(SOVERSION) -endif - -ifeq ($(UNAME),SunOS) - ifeq ($(ARCH),sparc) - ifeq ($(CC),cc) - CFLAGS+=-xc99 -KPIC - else - CFLAGS+=-fPIC - endif - endif - ifeq ($(ARCH),i386) - CFLAGS+=-fPIC - endif - - ifeq ($(CXX),CC) - CXXFLAGS+=-KPIC - else - CXXFLAGS+=-fPIC - endif -else - CFLAGS+=-fPIC - CXXFLAGS+=-fPIC -endif - # ------------------------------------------ # Compile time options # ------------------------------------------ ifeq ($(WITH_SOCKS),yes) - CPPFLAGS+=-DWITH_SOCKS + LOCAL_CPPFLAGS+=-DWITH_SOCKS endif ifeq ($(WITH_SRV),yes) - CPPFLAGS+=-DWITH_SRV - LIBADD+=-lcares + LOCAL_CPPFLAGS+=-DWITH_SRV + LOCAL_LIBADD+=-lcares STATIC_LIB_DEPS+=-lcares endif ifeq ($(WITH_THREADING),yes) - CFLAGS+=-pthread - CPPFLAGS+=-DWITH_THREADING - LDFLAGS+=-pthread + LOCAL_CFLAGS+=-pthread + LOCAL_CPPFLAGS+=-DWITH_THREADING + LOCAL_LDFLAGS+=-pthread STATIC_LIB_DEPS+=-pthread endif ifeq ($(WITH_TLS),yes) - LIBADD+=-lssl -lcrypto + LOCAL_LIBADD+=-lssl -lcrypto STATIC_LIB_DEPS:=$(STATIC_LIB_DEPS) -lssl -lcrypto endif @@ -168,26 +139,26 @@ uninstall : reallyclean : clean clean : - -rm -f ${OBJS} libmosquitto.so.${SOVERSION} libmosquitto.so libmosquitto.a *.gcno *.gcda + -rm -f ${OBJS} ${OBJS_EXTERNAL} libmosquitto.so.${SOVERSION} libmosquitto.so libmosquitto.a *.gcno *.gcda $(MAKE) -C cpp clean libmosquitto.so.${SOVERSION} : ${OBJS} ${OBJS_EXTERNAL} - ${CROSS_COMPILE}$(CC) -shared $(LDFLAGS) $^ -o $@ ${LIBADD} + ${CROSS_COMPILE}$(CC) $(LOCAL_LDFLAGS) $^ -o $@ ${LOCAL_LIBADD} libmosquitto.a : ${OBJS} ${OBJS_EXTERNAL} ${CROSS_COMPILE}$(AR) cr $@ $^ ${OBJS} : %.o: %.c ${R}/include/mosquitto.h mosquitto_internal.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ base64_mosq.o : ${R}/common/base64_mosq.c ${R}/common/base64_mosq.h - ${CROSS_COMPILE}$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ misc_mosq.o : ${R}/common/misc_mosq.c ${R}/common/misc_mosq.h - ${CROSS_COMPILE}$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ password_mosq.o : ${R}/common/password_mosq.c net_mosq.h - ${CROSS_COMPILE}$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ time_mosq.o : ${R}/common/time_mosq.c ${R}/common/time_mosq.h - ${CROSS_COMPILE}$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ diff --git a/lib/cpp/Makefile b/lib/cpp/Makefile index de9bd68e..3b1cf27b 100644 --- a/lib/cpp/Makefile +++ b/lib/cpp/Makefile @@ -2,9 +2,9 @@ R=../.. include ${R}/config.mk ifneq ($(UNAME),SunOS) - LDFLAGS+=-Wl,-soname,libmosquittopp.so.${SOVERSION} + LOCAL_LDFLAGS+=-Wl,-soname,libmosquittopp.so.${SOVERSION} endif -CXXFLAGS+=-fPIC +LOCAL_CXXFLAGS+=-fPIC .PHONY : clean install @@ -40,10 +40,10 @@ clean : -rm -f *.o libmosquittopp.so.${SOVERSION} libmosquittopp.a libmosquittopp.so.${SOVERSION} : mosquittopp.o - ${CROSS_COMPILE}$(CXX) -shared $(LDFLAGS) $< -o $@ ../libmosquitto.so.${SOVERSION} $(LIDADD) + ${CROSS_COMPILE}$(CXX) -shared $(LOCAL_LDFLAGS) $< -o $@ ../libmosquitto.so.${SOVERSION} $(LIDADD) libmosquittopp.a : mosquittopp.o ${CROSS_COMPILE}$(AR) cr $@ $^ mosquittopp.o : mosquittopp.cpp ${R}/include/mosquittopp.h - ${CROSS_COMPILE}$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@ + ${CROSS_COMPILE}$(CXX) $(LOCAL_CPPFLAGS) $(LOCAL_CXXFLAGS) -c $< -o $@ diff --git a/make/broker.mk b/make/broker.mk index 1a2f1788..c25590ae 100644 --- a/make/broker.mk +++ b/make/broker.mk @@ -1,68 +1,68 @@ ifeq ($(WITH_ADNS),yes) - LDADD+=-lanl - CPPFLAGS+=-DWITH_ADNS + LOCAL_LDADD+=-lanl + LOCAL_CPPFLAGS+=-DWITH_ADNS endif ifeq ($(WITH_BRIDGE),yes) - CPPFLAGS+=-DWITH_BRIDGE + LOCAL_CPPFLAGS+=-DWITH_BRIDGE endif ifeq ($(WITH_CONTROL),yes) - CPPFLAGS+=-DWITH_CONTROL + LOCAL_CPPFLAGS+=-DWITH_CONTROL endif ifeq ($(WITH_EC),yes) - CPPFLAGS+=-DWITH_EC + LOCAL_CPPFLAGS+=-DWITH_EC endif ifeq ($(WITH_EPOLL),yes) ifeq ($(UNAME),Linux) - CPPFLAGS+=-DWITH_EPOLL + LOCAL_CPPFLAGS+=-DWITH_EPOLL endif endif ifeq ($(WITH_MEMORY_TRACKING),yes) ifneq ($(UNAME),SunOS) - CPPFLAGS+=-DWITH_MEMORY_TRACKING + LOCAL_CPPFLAGS+=-DWITH_MEMORY_TRACKING endif endif ifeq ($(WITH_OLD_KEEPALIVE),yes) - CPPFLAGS+=-DWITH_OLD_KEEPALIVE + LOCAL_CPPFLAGS+=-DWITH_OLD_KEEPALIVE endif ifeq ($(WITH_PERSISTENCE),yes) - CPPFLAGS+=-DWITH_PERSISTENCE + LOCAL_CPPFLAGS+=-DWITH_PERSISTENCE endif ifeq ($(WITH_SYS_TREE),yes) - CPPFLAGS+=-DWITH_SYS_TREE + LOCAL_CPPFLAGS+=-DWITH_SYS_TREE endif ifeq ($(WITH_SYSTEMD),yes) - CPPFLAGS+=-DWITH_SYSTEMD - LDADD+=-lsystemd + LOCAL_CPPFLAGS+=-DWITH_SYSTEMD + LOCAL_LDADD+=-lsystemd endif ifeq ($(WITH_THREADING),yes) - CFLAGS+=-pthread - LDFLAGS+=-pthread + LOCAL_CFLAGS+=-pthread + LOCAL_LDFLAGS+=-pthread endif ifeq ($(WITH_TLS),yes) - LDADD+=-lssl -lcrypto + LOCAL_LDADD+=-lssl -lcrypto endif ifeq ($(WITH_WEBSOCKETS),lws) - CPPFLAGS+=-DWITH_WEBSOCKETS=WS_IS_LWS - LDADD+=-lwebsockets + LOCAL_CPPFLAGS+=-DWITH_WEBSOCKETS=WS_IS_LWS + LOCAL_LDADD+=-lwebsockets endif ifeq ($(WITH_WRAP),yes) - LDADD+=-lwrap - CPPFLAGS+=-DWITH_WRAP + LOCAL_LDADD+=-lwrap + LOCAL_CPPFLAGS+=-DWITH_WRAP endif ifeq ($(WITH_XTREPORT),yes) - CPPFLAGS+=-DWITH_XTREPORT + LOCAL_CPPFLAGS+=-DWITH_XTREPORT endif diff --git a/plugins/Makefile b/plugins/Makefile index 47b06afa..33183f4b 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -1,7 +1,8 @@ DIRS= \ dynamic-security \ examples \ - persist-sqlite + persist-sqlite \ + sparkplug-aware .PHONY : all binary check clean reallyclean test test-compile install uninstall diff --git a/plugins/dynamic-security/Makefile b/plugins/dynamic-security/Makefile index a79b8be0..8c450b4d 100644 --- a/plugins/dynamic-security/Makefile +++ b/plugins/dynamic-security/Makefile @@ -5,12 +5,14 @@ include ${R}/config.mk PLUGIN_NAME=mosquitto_dynamic_security -CFLAGS+=-fPIC -CPPFLAGS+=-I${R}/lib/ -I${R}/src/ -I${R}/plugins/common -LIBADD+=-lcjson +LOCAL_CFLAGS+=-fPIC +LOCAL_CPPFLAGS+=-I${R}/lib/ -I${R}/src/ -I${R}/plugins/common +LOCAL_LIBADD+=-lcjson +LOCAL_LDFLAGS+=-fPIC -shared -ifeq ($(WITH_BUNDLED_DEPS),yes) - CPPFLAGS+=-I${R}/deps +WITH_PW_CACHE:=yes +ifeq ($(WITH_PW_CACHE),yes) + LOCAL_CPPFLAGS+=-DWITH_PW_CACHE endif OBJS = \ @@ -44,7 +46,6 @@ ALL_DEPS:= endif all : ${ALL_DEPS} -binary : ${PLUGIN_NAME}.so ifeq ($(WITH_FUZZING),yes) binary : ${PLUGIN_NAME}.a @@ -52,26 +53,32 @@ else binary : ${PLUGIN_NAME}.so endif -${PLUGIN_NAME}.so : ${OBJS} ${OBJS_EXTERNAL} - ${CROSS_COMPILE}${CC} $(LDFLAGS) -fPIC -shared $^ -o $@ ${LIBADD} +ifeq ($(WITH_FUZZING),yes) +binary : ${PLUGIN_NAME}.a +else +binary : ${PLUGIN_NAME}.so +endif ${PLUGIN_NAME}.a : ${OBJS} ${OBJS_EXTERNAL} ${CROSS_COMPILE}$(AR) cr $@ $^ +${PLUGIN_NAME}.so : ${OBJS} ${OBJS_EXTERNAL} + ${CROSS_COMPILE}${CC} $(LOCAL_LDFLAGS) $^ -o $@ ${LOCAL_LIBADD} + ${OBJS} : %.o: %.c dynamic_security.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ base64_mosq.o : ${R}/common/base64_mosq.c ${R}/common/base64_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ json_help.o : ${R}/common/json_help.c ${R}/common/json_help.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ misc_mosq.o : ${R}/common/misc_mosq.c ${R}/common/misc_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ password_mosq.o : ${R}/common/password_mosq.c ${R}/common/password_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ reallyclean : clean clean: diff --git a/plugins/examples/add-properties/Makefile b/plugins/examples/add-properties/Makefile index c5fb9a2f..0aca8463 100644 --- a/plugins/examples/add-properties/Makefile +++ b/plugins/examples/add-properties/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_add_properties -CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/auth-by-env/Makefile b/plugins/examples/auth-by-env/Makefile index c613b29a..2661e2b1 100644 --- a/plugins/examples/auth-by-env/Makefile +++ b/plugins/examples/auth-by-env/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_auth_by_env -CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/auth-by-ip/Makefile b/plugins/examples/auth-by-ip/Makefile index 3d68c14b..9eee29a5 100644 --- a/plugins/examples/auth-by-ip/Makefile +++ b/plugins/examples/auth-by-ip/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_auth_by_ip -CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/client-lifetime-stats/Makefile b/plugins/examples/client-lifetime-stats/Makefile index 8c753779..2f5bdb21 100644 --- a/plugins/examples/client-lifetime-stats/Makefile +++ b/plugins/examples/client-lifetime-stats/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_client_lifetime_stats -CFLAGS+=-I${R}/include -I${R}/ -I${R}/deps +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/client-properties/Makefile b/plugins/examples/client-properties/Makefile index dbd36f2e..3b573c25 100644 --- a/plugins/examples/client-properties/Makefile +++ b/plugins/examples/client-properties/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_client_properties -PLUGIN_CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(PLUGIN_CPPFLAGS) $(PLUGIN_CFLAGS) $(PLUGIN_LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ $(LOCAL_LIBADD) reallyclean : clean clean: diff --git a/plugins/examples/connection-state/Makefile b/plugins/examples/connection-state/Makefile index dccb4f1a..f8122ba6 100644 --- a/plugins/examples/connection-state/Makefile +++ b/plugins/examples/connection-state/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_connection_state -CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/delayed-auth/Makefile b/plugins/examples/delayed-auth/Makefile index 6c0b747a..8e0510e7 100644 --- a/plugins/examples/delayed-auth/Makefile +++ b/plugins/examples/delayed-auth/Makefile @@ -4,17 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_delayed_auth -CPPFLAGS+=-I${R}/include -I${R}/ -ifeq ($(WITH_BUNDLED_DEPS),yes) -CPPFLAGS+=-I${R}/deps -endif +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/deny-protocol-version/Makefile b/plugins/examples/deny-protocol-version/Makefile index 3e4ad37a..a37191b3 100644 --- a/plugins/examples/deny-protocol-version/Makefile +++ b/plugins/examples/deny-protocol-version/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_deny_protocol_version -CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/force-retain/Makefile b/plugins/examples/force-retain/Makefile index cf84ce02..aeee265b 100644 --- a/plugins/examples/force-retain/Makefile +++ b/plugins/examples/force-retain/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_force_retain -CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/limit-subscription-qos/Makefile b/plugins/examples/limit-subscription-qos/Makefile index 63c01231..1c0274a0 100644 --- a/plugins/examples/limit-subscription-qos/Makefile +++ b/plugins/examples/limit-subscription-qos/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_limit_subscription_qos -CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/message-timestamp/Makefile b/plugins/examples/message-timestamp/Makefile index 8206fcc9..4e995ff2 100644 --- a/plugins/examples/message-timestamp/Makefile +++ b/plugins/examples/message-timestamp/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_message_timestamp -CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/payload-ban/Makefile b/plugins/examples/payload-ban/Makefile index 717af60e..aa9b9eeb 100644 --- a/plugins/examples/payload-ban/Makefile +++ b/plugins/examples/payload-ban/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_payload_ban -CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/payload-modification/Makefile b/plugins/examples/payload-modification/Makefile index 6d6d425b..2a11bab5 100644 --- a/plugins/examples/payload-modification/Makefile +++ b/plugins/examples/payload-modification/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_payload_modification -CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/payload-size-stats/Makefile b/plugins/examples/payload-size-stats/Makefile index 9e678b45..00da80a0 100644 --- a/plugins/examples/payload-size-stats/Makefile +++ b/plugins/examples/payload-size-stats/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_payload_size_stats -CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/plugin-event-stats/Makefile b/plugins/examples/plugin-event-stats/Makefile index 33d83328..309596eb 100644 --- a/plugins/examples/plugin-event-stats/Makefile +++ b/plugins/examples/plugin-event-stats/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_plugin_event_stats -CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/print-ip-on-publish/Makefile b/plugins/examples/print-ip-on-publish/Makefile index db024e55..711b44de 100644 --- a/plugins/examples/print-ip-on-publish/Makefile +++ b/plugins/examples/print-ip-on-publish/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_print_ip_on_publish -CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/topic-jail/Makefile b/plugins/examples/topic-jail/Makefile index 96eb1f3e..bcff9cba 100644 --- a/plugins/examples/topic-jail/Makefile +++ b/plugins/examples/topic-jail/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_topic_jail -CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/topic-modification/Makefile b/plugins/examples/topic-modification/Makefile index 33195b69..718c2bcb 100644 --- a/plugins/examples/topic-modification/Makefile +++ b/plugins/examples/topic-modification/Makefile @@ -4,14 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_topic_modification -CFLAGS+=-I${R}/include -I${R}/ +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/examples/wildcard-temp/Makefile b/plugins/examples/wildcard-temp/Makefile index e6eb0f6a..9fc9702f 100644 --- a/plugins/examples/wildcard-temp/Makefile +++ b/plugins/examples/wildcard-temp/Makefile @@ -4,17 +4,17 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_wildcard_temp -CPPFLAGS+=-I${R}/include -I${R}/ -ifeq ($(WITH_BUNDLED_DEPS),yes) -CPPFLAGS+=-I${R}/deps -endif +LOCAL_CPPFLAGS+= +LOCAL_CFLAGS+=-fPIC +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LIBADD+= all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${PLUGIN_NAME}.c - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -fPIC -shared $< -o $@ + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $< -o $@ ${LOCAL_LIBADD} reallyclean : clean clean: diff --git a/plugins/persist-sqlite/Makefile b/plugins/persist-sqlite/Makefile index 7faa31eb..0507d8dc 100644 --- a/plugins/persist-sqlite/Makefile +++ b/plugins/persist-sqlite/Makefile @@ -4,8 +4,9 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test test-compile install uninstall PLUGIN_NAME=mosquitto_persist_sqlite -CPPFLAGS+=-I${R}/src/ -LIBADD+=-lsqlite3 -lcjson +LOCAL_CPPFLAGS+=-I${R}/src/ -I${R}/plugins/common +LOCAL_LIBADD+=-lsqlite3 -lcjson +LOCAL_LDFLAGS+=-fPIC -shared OBJS = \ base_msgs.o \ @@ -31,13 +32,13 @@ all : ${ALL_DEPS} binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${OBJS} ${OBJS_EXTERNAL} - ${CROSS_COMPILE}${CC} $(LDFLAGS) -fPIC -shared $^ -o $@ ${LIBADD} + ${CROSS_COMPILE}${CC} $(LOCAL_LDFLAGS) $^ -o $@ ${LOCAL_LIBADD} ${OBJS} : %.o: %.c persist_sqlite.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ json_help.o : ${R}/common/json_help.c ${R}/common/json_help.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ reallyclean : clean clean: diff --git a/plugins/sparkplug-aware/Makefile b/plugins/sparkplug-aware/Makefile index c45a1d54..34685eec 100644 --- a/plugins/sparkplug-aware/Makefile +++ b/plugins/sparkplug-aware/Makefile @@ -4,9 +4,9 @@ include ${R}/config.mk .PHONY : all binary check clean reallyclean test install uninstall PLUGIN_NAME=mosquitto_sparkplug_aware -CFLAGS+=-I${R}/include -I${R}/ -LDFLAGS+=-fPIC -shared -LDADD+= +LOCAL_CFLAGS+=-I${R}/include -I${R}/ +LOCAL_LDFLAGS+=-fPIC -shared +LOCAL_LDADD+= # Objects for this plugin only, built from source in this directory OBJS = \ @@ -21,16 +21,17 @@ all : binary binary : ${PLUGIN_NAME}.so ${PLUGIN_NAME}.so : ${OBJS} ${OBJS_EXTERNAL} - $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $^ -o $@ ${LDADD} + $(CROSS_COMPILE)$(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LDFLAGS) $^ -o $@ ${LOCAL_LDADD} ${OBJS} : %.o: %.c plugin_global.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ reallyclean : clean clean: -rm -f *.o ${PLUGIN_NAME}.so *.gcda *.gcno +test-compile: check: test test: diff --git a/src/Makefile b/src/Makefile index 28d481b0..642e1539 100644 --- a/src/Makefile +++ b/src/Makefile @@ -3,27 +3,27 @@ include ${R}/config.mk .PHONY: all install uninstall clean reallyclean -CFLAGS+= -CPPFLAGS+=-DWITH_BROKER -I${R}/lib -LDFLAGS+= -LDADD+=-lcjson -lm +LOCAL_CFLAGS+= +LOCAL_CPPFLAGS+=-DWITH_BROKER -I${R}/lib +LOCAL_LDFLAGS+= +LOCAL_LDADD+=-lcjson -lm # ------------------------------------------ # Platform specific # ------------------------------------------ ifneq ($(or $(findstring $(UNAME),FreeBSD), $(findstring $(UNAME),OpenBSD), $(findstring $(UNAME),NetBSD)),) - LDFLAGS+=-Wl,--dynamic-list=linker.syms + LOCAL_LDFLAGS+=-Wl,--dynamic-list=linker.syms else - LDADD+=-ldl + LOCAL_LDADD+=-ldl endif ifeq ($(UNAME),Linux) - LDADD+=-lrt - LDFLAGS+=-Wl,--dynamic-list=linker.syms + LOCAL_LDADD+=-lrt + LOCAL_LDFLAGS+=-Wl,--dynamic-list=linker.syms endif ifeq ($(UNAME),QNX) - LDADD+= -lsocket + LOCAL_LDADD+= -lsocket endif # ------------------------------------------ @@ -149,109 +149,109 @@ ifeq ($(WITH_WEBSOCKETS),yes) endif mosquitto : ${OBJS} ${OBJS_EXTERNAL} - ${CROSS_COMPILE}${CC} ${LDFLAGS} $^ -o $@ $(LDADD) + ${CROSS_COMPILE}${CC} ${LOCAL_LDFLAGS} $^ -o $@ $(LOCAL_LDADD) mosquitto_broker.a : ${OBJS} ${OBJS_EXTERNAL} ${CROSS_COMPILE}$(AR) cr $@ $^ ${OBJS} : %.o: %.c mosquitto_broker_internal.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ alias_mosq.o : ${R}/lib/alias_mosq.c ${R}/lib/alias_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ base64_mosq.o : ${R}/common/base64_mosq.c ${R}/common/base64_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ handle_ping.o : ${R}/lib/handle_ping.c ${R}/lib/read_handle.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ handle_pubackcomp.o : ${R}/lib/handle_pubackcomp.c ${R}/lib/read_handle.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ handle_pubrec.o : ${R}/lib/handle_pubrec.c ${R}/lib/read_handle.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ handle_pubrel.o : ${R}/lib/handle_pubrel.c ${R}/lib/read_handle.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ handle_suback.o : ${R}/lib/handle_suback.c ${R}/lib/read_handle.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ handle_unsuback.o : ${R}/lib/handle_unsuback.c ${R}/lib/read_handle.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ json_help.o : ${R}/common/json_help.c ${R}/common/json_help.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ memory_mosq.o : ${R}/lib/memory_mosq.c ${R}/lib/memory_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ misc_mosq.o : ${R}/common/misc_mosq.c ${R}/common/misc_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ net_mosq_ocsp.o : ${R}/lib/net_mosq_ocsp.c ${R}/lib/net_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ net_mosq.o : ${R}/lib/net_mosq.c ${R}/lib/net_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ net_ws.o : ${R}/lib/net_ws.c ${R}/lib/net_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ password_mosq.o : ${R}/common/password_mosq.c ${R}/common/password_mosq.h mosquitto_broker_internal.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ packet_datatypes.o : ${R}/lib/packet_datatypes.c ${R}/lib/packet_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ packet_mosq.o : ${R}/lib/packet_mosq.c ${R}/lib/packet_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ ${R}/deps/picohttpparser/picohttpparser.o : ${R}/deps/picohttpparser/picohttpparser.c ${R}/deps/picohttpparser/picohttpparser.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ property_mosq.o : ${R}/lib/property_mosq.c ${R}/lib/property_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ send_connect.o : ${R}/lib/send_connect.c ${R}/lib/send_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ send_disconnect.o : ${R}/lib/send_disconnect.c ${R}/lib/send_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ send_mosq.o : ${R}/lib/send_mosq.c ${R}/lib/send_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ send_publish.o : ${R}/lib/send_publish.c ${R}/lib/send_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ send_subscribe.o : ${R}/lib/send_subscribe.c ${R}/lib/send_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ send_unsubscribe.o : ${R}/lib/send_unsubscribe.c ${R}/lib/send_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ strings_mosq.o : ${R}/lib/strings_mosq.c mosquitto_broker_internal.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ time_mosq.o : ${R}/common/time_mosq.c ${R}/common/time_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ tls_mosq.o : ${R}/lib/tls_mosq.c - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ util_mosq.o : ${R}/lib/util_mosq.c ${R}/lib/util_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ util_topic.o : ${R}/lib/util_topic.c ${R}/lib/util_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ utf8_mosq.o : ${R}/lib/utf8_mosq.c - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ will_mosq.o : ${R}/lib/will_mosq.c ${R}/lib/will_mosq.h - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ install : all $(INSTALL) -d "${DESTDIR}$(prefix)/sbin" @@ -266,7 +266,7 @@ uninstall : -rm -f "${DESTDIR}${prefix}/include/mosquitto_plugin.h" clean : - -rm -f *.o mosquitto mosquitto_broker.a *.gcda *.gcno + -rm -f ${OBJS} ${OBJS_EXTERNAL} mosquitto mosquitto_broker.a *.gcda *.gcno reallyclean : clean -rm -rf *.orig *.db diff --git a/test/apps/Makefile b/test/apps/Makefile index 4e8d6bf8..504b9c76 100644 --- a/test/apps/Makefile +++ b/test/apps/Makefile @@ -23,3 +23,5 @@ ptest : reallyclean : clean clean : $(MAKE) -C db_dump clean + $(MAKE) -C ctrl clean + $(MAKE) -C passwd clean diff --git a/test/broker/c/Makefile b/test/broker/c/Makefile index 6e8e38e8..6a211e18 100644 --- a/test/broker/c/Makefile +++ b/test/broker/c/Makefile @@ -3,7 +3,9 @@ include ${R}/config.mk .PHONY: all test clean reallyclean -CFLAGS=-I${R}/include -Wall -Werror +LOCAL_CPPFLAGS+=-I${R}/include +LOCAL_CFLAGS+=-Wall -Werror +LOCAL_LDFLAGS+=-fPIC -shared PLUGIN_SRC = \ auth_plugin_acl.c \ @@ -68,11 +70,11 @@ TESTS = ${SRC:.c=.test} all : ${PLUGINS} ${TESTS} ${PLUGINS} : %.so: %.c - $(CC) ${CFLAGS} -fPIC -shared $< -o $@ + $(CC) $(LOCAL_CPPFLAGS) ${LOCAL_CFLAGS} ${LOCAL_LDFLAGS} $< -o $@ ${TESTS} : %.test: %.c - $(CC) ${CFLAGS} $< -o $@ ${LIBMOSQ} + $(CC) $(LOCAL_CPPFLAGS) ${LOCAL_CFLAGS} $< -o $@ ${LIBMOSQ} reallyclean : clean diff --git a/test/lib/c/Makefile b/test/lib/c/Makefile index ecb213e3..f0fd2f0e 100644 --- a/test/lib/c/Makefile +++ b/test/lib/c/Makefile @@ -3,8 +3,9 @@ include ${R}/config.mk .PHONY: all clean reallyclean -CFLAGS=-I${R}/include -I${R}/test -Werror -ggdb -LIBS=${R}/lib/libmosquitto.so.1 +LOCAL_CPPFLAGS+=-I${R}/test +LOCAL_CFLAGS+=-Werror -ggdb +LOCAL_LIBADD+=${LIBMOSQ} SRC = \ 01-con-discon-success.c \ @@ -73,7 +74,7 @@ ifeq ($(WITH_TLS),yes) SRC += \ 08-ssl-connect-cert-auth-custom-ssl-ctx.c \ 08-ssl-connect-cert-auth-custom-ssl-ctx-default.c -LIBS += -lssl -lcrypto +LOCAL_LIBADD+=-lssl -lcrypto endif TESTS = ${SRC:.c=.test} @@ -81,7 +82,7 @@ TESTS = ${SRC:.c=.test} all : ${TESTS} ${TESTS} : %.test: %.c ${R}/test/path_helper.h - $(CC) $< -o $@ -D TEST_SOURCE_DIR='"$(realpath .)"' $(CFLAGS) $(LIBS) + $(CC) $< -o $@ -D TEST_SOURCE_DIR='"$(realpath .)"' $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LIBADD) reallyclean : clean -rm -f *.orig diff --git a/test/lib/cpp/Makefile b/test/lib/cpp/Makefile index 54037ca0..965c0bf9 100644 --- a/test/lib/cpp/Makefile +++ b/test/lib/cpp/Makefile @@ -3,8 +3,8 @@ include ${R}/config.mk .PHONY: all test clean reallyclean -CXXFLAGS+=-I${R}/include -I${R}/test -I${R}/lib/cpp -DDEBUG -Werror -W -LIBS=${R}/lib/libmosquitto.so.1 ${R}/lib/cpp/libmosquittopp.so.1 +LOCAL_CXXFLAGS+=-I${R}/include -I${R}/test -I${R}/lib/cpp -DDEBUG -Werror -W +LIBS=${LIBMOSQ} ${R}/lib/cpp/libmosquittopp.so.1 SRC = \ 01-con-discon-success.cpp \ @@ -68,7 +68,6 @@ SRC = \ 11-prop-send-payload-format.cpp \ 11-prop-recv.cpp - LIBS += -lssl -lcrypto TESTS = ${SRC:.cpp=.test} @@ -76,7 +75,7 @@ TESTS = ${SRC:.cpp=.test} all : ${TESTS} ${TESTS} : %.test: %.cpp ${R}/test/path_helper.h - $(CXX) -DTEST_SOURCE_DIR='"$(realpath .)"' $< -o $@ $(CXXFLAGS) $(LIBS) + $(CXX) -DTEST_SOURCE_DIR='"$(realpath .)"' $< -o $@ $(LOCAL_CXXFLAGS) $(LIBS) reallyclean : clean -rm -f *.orig diff --git a/test/old/Makefile b/test/old/Makefile index dbc1ccd3..6e0717d4 100644 --- a/test/old/Makefile +++ b/test/old/Makefile @@ -2,8 +2,8 @@ R=../.. include ${R}/config.mk CC=cc -CFLAGS=-I${R}/src -I${R}/include -I. -I${R} -Wall -ggdb -DDEBUG -DWITH_CLIENT -LDFLAGS= +LOCAL_CFLAGS=-I${R}/src -I${R}/include -I. -I${R} -Wall -ggdb -DDEBUG -DWITH_CLIENT +LOCAL_LDFLAGS= SOVERSION=1 .PHONY: all test clean @@ -11,16 +11,16 @@ SOVERSION=1 all : msgsps_pub msgsps_sub msgsps_pub : msgsps_pub.o - ${CC} $^ -o $@ ${R}/lib/libmosquitto.so.${SOVERSION} + ${CC} $^ -o $@ ${LIBMOSQ} msgsps_pub.o : msgsps_pub.c msgsps_common.h - ${CC} $(CFLAGS) -c $< -o $@ + ${CC} $(LOCAL_CFLAGS) -c $< -o $@ msgsps_sub : msgsps_sub.o - ${CC} $^ -o $@ ${R}/lib/libmosquitto.so.${SOVERSION} + ${CC} $^ -o $@ ${LIBMOSQ} msgsps_sub.o : msgsps_sub.c msgsps_common.h - ${CC} $(CFLAGS) -c $< -o $@ + ${CC} $(LOCAL_CFLAGS) -c $< -o $@ clean : -rm -f *.o msgsps_pub msgsps_sub diff --git a/test/random/Makefile b/test/random/Makefile index 235933ac..4ef7f024 100644 --- a/test/random/Makefile +++ b/test/random/Makefile @@ -3,16 +3,10 @@ include ${R}/config.mk .PHONY: all test -ifeq ($(WITH_SHARED_LIBRARIES),yes) -LIB_DEP:=${R}/lib/libmosquitto.so.${SOVERSION} -else -LIB_DEP:=${R}/lib/libmosquitto.a -endif - all : auth_plugin.so auth_plugin.so : auth_plugin.c - $(CC) ${CFLAGS} -fPIC -shared $< -o $@ -I${R}/lib -I${R}/src + $(CC) ${LOCAL_CFLAGS} -fPIC -shared $< -o $@ -I${R}/lib -I${R}/src ${R}/lib/libmosquitto.so.${SOVERSION} : $(MAKE) -C ${R}/lib diff --git a/test/unit/broker/Makefile b/test/unit/broker/Makefile index 8a0325e5..e164cccc 100644 --- a/test/unit/broker/Makefile +++ b/test/unit/broker/Makefile @@ -4,13 +4,13 @@ include ${R}/make/broker.mk .PHONY: all check test test-compile clean coverage -CFLAGS+=-coverage -CPPFLAGS+=-DWITH_BROKER -I${R}/src -I${R}/test -I${R}/lib -DTEST_SOURCE_DIR='"$(realpath .)"' -LDFLAGS+=-coverage -LDADD+=-lcunit +LOCAL_CFLAGS+=-coverage +LOCAL_CPPFLAGS+=-DWITH_BROKER -I${R}/src -I${R}/test -I${R}/lib -DTEST_SOURCE_DIR='"$(realpath .)"' -I${R}/lib +LOCAL_LDFLAGS+=-coverage +LOCAL_LDADD+=-lcunit ifeq ($(WITH_TLS),yes) - LDADD+=-lssl -lcrypto + LOCAL_LDADD+=-lssl -lcrypto endif BRIDGE_TOPIC_TEST_OBJS = \ @@ -92,43 +92,49 @@ all : test-compile check : test bridge_topic_test : ${BRIDGE_TOPIC_TEST_OBJS} ${BRIDGE_TOPIC_OBJS} - $(CROSS_COMPILE)$(CC) $(LDFLAGS) -o $@ $^ $(LDADD) + $(CROSS_COMPILE)$(CC) $(LOCAL_LDFLAGS) -o $@ $^ $(LOCAL_LDADD) keepalive_test : ${KEEPALIVE_TEST_OBJS} ${KEEPALIVE_OBJS} - $(CROSS_COMPILE)$(CC) $(LDFLAGS) -o $@ $^ $(LDADD) + $(CROSS_COMPILE)$(CC) $(LOCAL_LDFLAGS) -o $@ $^ $(LOCAL_LDADD) persist_read_test : ${PERSIST_READ_TEST_OBJS} ${PERSIST_READ_OBJS} - $(CROSS_COMPILE)$(CC) $(LDFLAGS) -o $@ $^ $(LDADD) + $(CROSS_COMPILE)$(CC) $(LOCAL_LDFLAGS) -o $@ $^ $(LOCAL_LDADD) persist_write_test : ${PERSIST_WRITE_TEST_OBJS} ${PERSIST_WRITE_OBJS} - $(CROSS_COMPILE)$(CC) $(LDFLAGS) -o $@ $^ $(LDADD) + $(CROSS_COMPILE)$(CC) $(LOCAL_LDFLAGS) -o $@ $^ $(LOCAL_LDADD) subs_test : ${SUBS_TEST_OBJS} ${SUBS_OBJS} - $(CROSS_COMPILE)$(CC) $(LDFLAGS) -o $@ $^ $(LDADD) + $(CROSS_COMPILE)$(CC) $(LOCAL_LDFLAGS) -o $@ $^ $(LOCAL_LDADD) + +keepalive_test.o : keepalive_test.c + ${CROSS_COMPILE}${CC} -I${R}/src $(LOCAL_CFLAGS) $(LOCAL_CPPFLAGS) -c $< -o $@ + +keepalive_stubs.o : keepalive_stubs.c + ${CROSS_COMPILE}${CC} -I${R}/src $(LOCAL_CFLAGS) $(LOCAL_CPPFLAGS) -c $< -o $@ bridge_topic_test.o : bridge_topic_test.c - ${CROSS_COMPILE}${CC} -I${R}/src $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} -I${R}/src $(LOCAL_CFLAGS) $(LOCAL_CPPFLAGS) -c $< -o $@ broker_stubs.o : stubs.c - ${CROSS_COMPILE}${CC} $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CFLAGS) $(LOCAL_CPPFLAGS) -c $< -o $@ persist_read_test.o : persist_read_test.c - ${CROSS_COMPILE}${CC} -I${R}/test $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} -I${R}/test $(LOCAL_CFLAGS) $(LOCAL_CPPFLAGS) -c $< -o $@ persist_read_stubs.o: persist_read_stubs.c - ${CROSS_COMPILE}${CC} -I${R}/src $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} -I${R}/src $(LOCAL_CFLAGS) $(LOCAL_CPPFLAGS) -c $< -o $@ persist_write_test.o : persist_write_test.c - ${CROSS_COMPILE}${CC} -I${R}/test $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} -I${R}/test $(LOCAL_CFLAGS) $(LOCAL_CPPFLAGS) -c $< -o $@ persist_write_stubs.o: persist_write_stubs.c - ${CROSS_COMPILE}${CC} -I${R}/src $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} -I${R}/src $(LOCAL_CFLAGS) $(LOCAL_CPPFLAGS) -c $< -o $@ subs_test.o : subs_test.c - ${CROSS_COMPILE}${CC} -I${R}/test $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} -I${R}/test $(LOCAL_CFLAGS) $(LOCAL_CPPFLAGS) -c $< -o $@ subs_stubs.o: subs_stubs.c - ${CROSS_COMPILE}${CC} -I${R}/src $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} -I${R}/src $(LOCAL_CFLAGS) $(LOCAL_CPPFLAGS) -c $< -o $@ ${R}/src/bridge_topic.o : ${R}/src/bridge_topic.c $(MAKE) -C ${R}/src/ bridge_topic.o diff --git a/test/unit/lib/Makefile b/test/unit/lib/Makefile index bf18effd..b1f69734 100644 --- a/test/unit/lib/Makefile +++ b/test/unit/lib/Makefile @@ -3,13 +3,13 @@ include ${R}/config.mk .PHONY: all check test test-compile clean coverage -CFLAGS+=-coverage -CPPFLAGS+=-I${R}/src -I${R}/test -I${R}/lib -DTEST_SOURCE_DIR='"$(realpath .)"' -LDFLAGS+=-coverage -LDADD+=-lcunit +LOCAL_CFLAGS+=-coverage +LOCAL_CPPFLAGS+=-I${R}/src -I${R}/test -I${R}/lib -DTEST_SOURCE_DIR='"$(realpath .)"' +LOCAL_LDFLAGS+=-coverage +LOCAL_LDADD+=-lcunit ifeq ($(WITH_TLS),yes) - LDADD+=-lssl -lcrypto + LOCAL_LDADD+=-lssl -lcrypto endif TEST_OBJS = \ @@ -44,13 +44,13 @@ all : test-compile check : test lib_test : ${TEST_OBJS} ${LIB_OBJS} - $(CROSS_COMPILE)$(CC) $(LDFLAGS) -o $@ $^ $(LDADD) + $(CROSS_COMPILE)$(CC) $(LOCAL_LDFLAGS) -o $@ $^ $(LOCAL_LDADD) ${TEST_OBJS} : %.o: %.c - ${CROSS_COMPILE}${CC} $(CPPFLAGS) $(CFLAGS) -c $< -o $@ + ${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -c $< -o $@ lib_stubs.o : stubs.c - ${CROSS_COMPILE}$(CC) $(LIB_CPPFLAGS) $(LIB_CFLAGS) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + ${CROSS_COMPILE}$(CC) $(LIB_LOCAL_CPPFLAGS) $(LIB_LOCAL_CFLAGS) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ ${R}/lib/misc_mosq.o : ${R}/common/misc_mosq.c $(MAKE) -C ${R}/lib/ misc_mosq.o